==== Les requêtes d'affichage Orbisgis 2.2 ==== Les requêtes d'affichages se limitent à l'affichage d'une table ou de champ(s) d'une table de cette manière : **''SELECT show('SELECT longueur FROM itinéraire_polyline')''** (Cela n'affiche donc que le champ "longueur" de la table "itinéraire_polyline") ou à certaines opérations concernant les geomarks. Il est possible par exemple de créer des geomarks de cette manière : ''SELECT Geomark('geo') FROM "itinéraire_polyline" WHERE Length(the_geom) > 300'' Dans le geomark sera alors créé différentes vues avec le préfixe "geo" où la longueur spécifiée sera vérifiée. ''SELECT * FROM france WHERE "COMMUNE"='Loire''' Cette requête permet d'identifier une sélection et de créer une table à partir de celle-ci. ==== Les requêtes binaires ==== Certaines requêtes servent uniquement à savoir si une information est vraie ou non. Il en existe 9 dans l'OGC prédicate (dans le répertoire geometry) : * Containt (pour savoir si A contient B) * Cross (pour savoir si A croise B) * Disjoint (pour savoir si A est disjoint de B) * Intersects : (Pour savoir si A intersecte B) * Is Within (pour savoir si A est à l'intérieur de B) * Is Withindistance (pour savoir si A est à une distance moindre ou égal de B par rapport à une distance spécifiée) * Overlaps (pour savoir si A chevauche B). Le résultat de la requête est "true" ou "false". Ces requêtes sont toutes de la forme ''(the_geom1,the_geom2)''. Il faut alors spécifier la table de "the_geom1" et de "the_geom2" comme dans l'exemple : ''SELECT Intersects(a.the_geom,b.the_geom) FROM itinéraire1_polyline a, itinéraire2_polyline b'' Par exemple pour filtrer les éléments affichés en fonction de leur caractéristiques : ''SELECT a.* FROM couche_a couche_b WHERE Contains(couche_a.element_a_afficher, couche_b.element_a_afficher)'' {{:opensource2009:avant_apres_filtrage.png|}} Dans cette requête, nous récupérons toutes les caractéristiques de la couche couche_a qui sont contenus dans la couche couche_b.