DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Editeurs / Editeur de requêtes / SQL
  • Présentation
  • Détails des fonctions SQL permettant de gérer des données spatiales
  • ST_AREA
  • ST_CONTAINS
  • ST_COVEREDBY
  • ST_COVERS
  • ST_CROSSES
  • ST_DIFFERENCE
  • ST_DISTANCE
  • ST_EQUALS
  • ST_GEOMFROMTEXT
  • ST_INTERSECTS
  • ST_LENGTH
  • ST_MAKEPOLYGON
  • ST_OVERLAPS
  • ST_PERIMETER
  • ST_SIMPLIFY
  • ST_SYMDIFFERENCE
  • ST_TOUCHES
  • ST_UNION
  • ST_WITHIN
WINDEV
WindowsLinuxJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac Catalyst
Autres
Procédures stockées
Présentation
Les principales fonctions SQL pouvant être utilisées sur des requêtes en code SQL pour gérer des données spatiales sont les suivantes :
ST_AREAST_CONTAINSST_COVEREDBYST_COVERS
ST_CROSSESST_DIFFERENCEST_DISTANCEST_EQUALS
ST_GEOMFROMTEXTST_INTERSECTSST_LENGTHST_MAKEPOLYGON
ST_OVERLAPSST_PERIMETERST_SIMPLIFYST_SYMDIFFERENCE
ST_TOUCHESST_UNIONST_WITHIN
Détails des fonctions SQL permettant de gérer des données spatiales

ST_AREA

La commande ST_AREA calcule la surface occupée par une géométrie (en 2 dimensions ou en coordonnées géographiques).
La surface est calculée selon l'unité de mesure indiquée lors de la définition de la géométrie.
Format d'utilisation :
<Aire> = ST_AREA(<Géométrie>)
Où :
  • <Aire> : Aire (surface) calculée dans l'unité indiquée.
  • <Géométrie> : Géométrie manipulée. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
L'unité de la valeur retournée dépend de l'unité du SRID (système spatial de référence) utilisée dans la définition de la géométrie (mètres, feet, etc).
Exemple : Cet exemple renvoie l'aire (surface) occupée pour chaque parcelle de la table "Parcelles".
SELECT ST_AREA(GeoParcelle) AS AireVille
FROM Parcelles

ST_CONTAINS

La commande ST_CONTAINS permet de savoir si une géométrie (en 2 dimensions ou en coordonnées géographiques) est contenue dans une autre géométrie (en 2 dimensions ou en coordonnées géographiques), c'est-à-dire si tous les points de la géométrie à comparer sont contenus sans exception dans la géométrie de référence.
Format d'utilisation :
<Etat> = ST_CONTAINS(<Géométrie de référence>, <Géométrie à comparer>)

Où :
  • <Etat> : Valeur de retour (booléen) :
    • Vrai si la géométrie à comparer est contenue dans la géométrie de référence.
    • Faux dans le cas contraire.
  • <Géométrie de référence> : Géométrie référence de la comparaison. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
  • <Géométrie à comparer> : Géométrie à comparer à la géométrie de référence. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
Note : Les 2 géométries manipulées doivent être du même type (2 géométries en coordonnées en deux dimensions ou géographiques).
Exemple : Cet exemple renvoie le nom de la ville contenant la parcelle définie par la géométrie de référence RefParc (recherche dans quelle ville se situe une parcelle).
SELECT IdVille, NomVille FROM Villes
WHERE ST_CONTAINS(GeoVille, RefParc)

ST_COVEREDBY

La commande ST_COVEREDBY permet de savoir si TOUS les points contenus dans la première géométrie sont contenus dans la seconde géométrie ou si au moins un des points de la première géométrie ne fait pas partie de la seconde géométrie.
Note : Il s'agit de la même fonction que ST_COVERS en inversant les paramètres.
Format d'utilisation :
<Etat> = ST_COVEREDBY(<Géométrie 1>, <Géométrie 2>)

où :
  • <Etat> : Valeur de retour (booléen) :
    • Vrai si TOUS les points de la première géométrie sont présents dans la seconde géométrie.
    • Faux si au moins un des points de la première géométrie n'est pas présent dans la seconde géométrie.
  • <Géométrie 1> : Première géométrie manipulée. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
  • <Géométrie 2> : Seconde géométrie manipulée. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
Note : Les 2 géométries manipulées doivent être du même type (2 géométries en coordonnées en deux dimensions ou géographiques).
Exemple : Recherche toutes les communes qui sont à l'intérieur ou sur le contour d'un département.
La commune est représentée par la géométrie "GeoCommune" et le département à contrôler par la géométrie "GeoDépartementRef".
SELECT NomCommune FROM CartesCommunes
WHERE ST_COVEREDBY(GeoCommune, GeoDepartementRef)

ST_COVERS

La commande ST_COVERS permet de savoir si TOUS les points contenus dans la seconde géométrie sont contenus dans la première géométrie ou si au moins un des points de la seconde géométrie ne fait pas partie de la première géométrie.
Note : Il s'agit de la même fonction que ST_COVEREDBY en inversant les paramètres.
Format d'utilisation :
<Etat> = ST_COVERS(<Géométrie 1>, <Géométrie 2>)

où :
  • <Etat> : Valeur de retour (booléen) :
    • Vrai si TOUS les points de la seconde géométrie sont présents dans la première géométrie.
    • Faux si au moins un des points de la seconde géométrie n'est pas présent dans la première géométrie.
  • <Géométrie 1> : Première géométrie manipulée. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
  • <Géométrie 2> : Seconde géométrie manipulée. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
Note : Les 2 géométries manipulées doivent être du même type (2 géométries en coordonnées en deux dimensions ou géographiques).
Exemple : Recherche toutes les communes qui sont à l'intérieur ou sur le contour d'un département.
La commune est représentée par la géométrie "GeoCommune" et le département à contrôler par la géométrie "GeoDépartementRef".
SELECT NomCommune FROM CartesCommunes
WHERE ST_COVERS(GeoDepartementRef, GeoCommune)

ST_CROSSES

La commande ST_CROSSES permet de savoir si l'une des deux géométries possède une partie de ses points intérieurs en commun avec la seconde géométrie (et non pas obligatoirement la totalité de ses points).
L'intersection représentée par ces points en commun doit répondre à 2 critères :
  • cette intersection doit avoir une dimension inférieure à celles des géométries comparées.
  • cette intersection ne doit pas être égale à une des deux géométries comparées.
Format d'utilisation :
<Etat> = ST_CROSSES(<Géométrie 1>, <Géométrie 2>)
Où :
  • <Etat> : Valeur de retour (booléen) :
    • Vrai si l'une des deux géométries possède une partie des points intérieurs en commun avec la seconde géométrie et si les critères sont vérifiés.
    • Faux dans le cas contraire. Dans ce cas, soit les 2 critères ne sont pas respectés, soit il n'y a aucun point intérieur en commun.
  • <Géométrie 1> : Première géométrie manipulée. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
  • <Géométrie 2> : Seconde géométrie manipulée. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
Note : Les 2 géométries manipulées doivent être du même type (2 géométries en coordonnées en deux dimensions ou géographiques).
Exemple : Recherche tous les pays traversés par un fleuve.
Le fleuve est représentée par la géométrie "GeoFleuveRef" et le pays par la géométrie "GeoPays".
SELECT NomPays FROM CartesPaysDuMonde
WHERE ST_CROSSES(GeoFleuveRef, GeoPays)

ST_DIFFERENCE

La commande ST_DIFFERENCE renvoie une géométrie correspondant à la différence entre les deux géométries passées en paramètres.
Quelque soit l'ordre des géométries passées en paramètre, la plus petite géométrie est retranchée à la plus grande géométrie.
Format d'utilisation :
<Géométrie résultat> = ST_DIFFERENCE(<Géométrie 1>, <Géométrie 2>)

Où :
  • <Géométrie résultat> : Géométrie résultat de la différence.
  • <Géométrie 1> : Première géométrie manipulée. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
  • <Géométrie 2> : Seconde géométrie manipulée. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
Note : Les 2 géométries manipulées doivent être du même type (2 géométries en coordonnées en deux dimensions ou géographiques).
Exemple : Suite à la vente d'une parcelle, renvoie la géométrie correspondant au terrain restant :
SELECT ST_DIFFERENCE(Lot1, ParcelleVendue)
AS TerrainRestant
FROM ParcellesLot
WHERE IDLot=1

ST_DISTANCE

La commande ST_DISTANCE calcule la distance entre 2 géométries (en 2 dimensions ou en coordonnées géographiques). Cette distance est exprimée dans l'unité de mesure indiquée lors de la définition de la géométrie.
Format d'utilisation :
<Distance> = ST_DISTANCE(<Géométrie 1>, <Géométrie 2>)

Où :
  • <Distance> : Distance calculée dans l'unité indiquée.
  • <Géométrie 1> : Première géométrie manipulée. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
  • <Géométrie 2> : Seconde géométrie manipulée. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
L'unité de la valeur retournée dépend de l'unité du SRID (système spatial de référence) utilisée dans la définition de la géométrie (mètres, degrés, etc).
Exemple 1 : Cet exemple renvoie les distances entre toutes les villes de la table "Cartes" et la ville de référence "GeoRef".
SELECT ST_DISTANCE(GeoVille, GeoRef) AS Distance FROM Cartes

Exemple 2 : Cet exemple renvoie la distance entre les 2 géométries indiquées. Les géométries sont définies à l'aide de polygones.
SELECT
ST_DISTANCE(ST_GEOMFROMTEXT('POLYGON((-3 5,4 5.03,4 1.06,-3.03 0.97,-5.06 3.06,-3.09 5,-3.09 5,-3 5))'),
ST_GEOMFROMTEXT('POLYGON((4.03 9.03,7 9.11,6.94 7.06,4 7.97,3.97 9.06,4.03 9.03))'))
AS dist_2d

ST_EQUALS

La commande ST_EQUALS permet de savoir si 2 géométries (en 2 dimensions ou en coordonnées géographiques) sont identiques, c'est-à-dire si elles ont la même dimension et si les points définis occupent la même surface.
Remarque : Les coordonnées des géométries peuvent être différentes (elles peuvent ne pas être situées à la même position).
Format d'utilisation :
<Etat> = ST_EQUALS(<Géométrie 1>, <Géométrie 2>)

Où :
  • <Etat> : Valeur de retour (booléen) :
    • Vrai si les 2 géométries sont identiques,
    • Faux dans le cas contraire.
  • <Géométrie 1> : Première géométrie à manipuler. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
  • <Géométrie 2> : Seconde géométrie à manipuler. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
Note : Les 2 géométries manipulées doivent être du même type (2 géométries en coordonnées en deux dimensions ou géographiques).
Exemple : Cet exemple renvoie la liste des parcelles dont la dimension et l'occupation sont identiques à la parcelle de référence définie par la géométrie de référence "RefParc".
SELECT IdParcelle, LieuParcelle FROM Parcelles
WHERE ST_EQUALS(DefParcelle, RefParc)

ST_GEOMFROMTEXT

La commande ST_GEOMFROMTEXT convertit une géométrie décrite sous la forme d'une chaîne de caractères en une géométrie en 2 dimensions.
Format d'utilisation :
<Géométrie> = ST_GEOMFROMTEXT(<Chaîne>)

Où :
  • <Géométrie> : Géométrie en 2 dimensions.
  • <Chaîne> : Géométrie décrite via une chaîne de caractères.
Exemple : Cet exemple calcule la distance entre 2 géométries en 2 dimensions.
Les 2 géométries sont des polygones dont la description est réalisée par une série de points décrits dans une chaîne de caractères. La chaîne de caractères décrivant le polygone est transformée en géométrie via la fonction SQL ST_GEOMFROMTEXT.
SELECT
ST_DISTANCE(ST_GEOMFROMTEXT('POLYGON((-3 5,4 5.03,4 1.06,-3.03 0.97,-5.06 3.06,-3.09 5,-3.09 5,-3 5))'),
ST_GEOMFROMTEXT('POLYGON((4.03 9.03,7 9.11,6.94 7.06,4 7.97,3.97 9.06,4.03 9.03))'))
AS dist_2d

ST_INTERSECTS

La commande ST_INTERSECTS permet de savoir si 2 géométries (en 2 dimensions ou en coordonnées géographiques) ont des points en commun. Cette commande calcule la surface commune (intersection) entre les 2 géométries.
Format d'utilisation :
<Etat> = ST_INTERSECTS(<Géométrie 1>, <Géométrie 2>)

Où :
  • <Etat> : Valeur de retour (booléen) :
    • Vrai si les géométries ont au moins un point commun,
    • Faux dans le cas contraire.
  • <Géométrie 1> : Première géométrie manipulée. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
  • <Géométrie 2> : Seconde géométrie manipulée. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
Note : Les 2 géométries manipulées doivent être du même type (2 géométries en coordonnées en deux dimensions ou géographiques).
Exemple : Cet exemple renvoie la liste des villes représentées par la géométrie "GeoVille" qui ont un point commun avec la géométrie de référence "GeoRef".
SELECT NomVille FROM Cartes WHERE ST_INTERSECTS(GeoVille, GeoRef)

ST_LENGTH

La commande ST_LENGTH retourne la longueur en mètres d'une géométrie linéaire. Une géométrie linéaire (ou polyligne) est une géométrie composée de plusieurs points reliés entre eux. Il faut au minimum 2 points dans la géométrie manipulée. L'ensemble des points ne doit pas former une géométrie fermée, c'est-à-dire un polygone.
La longueur est calculée à partir de la somme de chaque ligne composant la polyligne.
Format d'utilisation :
<Longueur> = ST_LENGTH(<Géométrie>)

Où :
  • <Longueur> : Longueur calculée en mètres.
  • <Géométrie> : Polyligne à manipuler. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
Note : Dans le cas où la géométrie passée en paramètre est un polygone ou un seul point, la valeur 0 est renvoyée.
Exemple : Renvoie la longueur de tous les fleuves de France.
SELECT NomFleuve, ST_LENGTH(GeoFleuve) AS LongueurFleuve
FROM CartesFleuves WHERE Pays='France'

ST_MAKEPOLYGON

La commande ST_MAKEPOLYGON renvoie une géométrie de type Polygone correspondant à la description des lignes décrites dans la géométrie à analyser.
Cette commande comprend un second paramètre optionnel permettant de décrire les trous créés dans la géométrie résultat. Ces trous sont décrits à l'aide d'un tableau de polylignes (un trou correspond à une polyligne).
Format d'utilisation :
<Géométrie résultat> = ST_MAKEPOLYGON(<Géométrie à analyser>[, <Géométrie des trous] [, <SRID>])

Où :
  • <Géométrie résultat> : Géométrie correspondant au polygone renvoyé.
  • <Géométrie à analyser> : Géométrie composée de lignes sans les trous potentiels. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
  • <Géométrie des trous> (optionnel) : Géométrie décrivant les trous à intégrer dans la géométrie à analyser. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
  • <SRID> (optionnel) : Dans le cas d'une géométrie en coordonnées géographiques, indique le système spatial de référence (SRID) défini dans les informations de description de la géométrie.
Exemple : Construit un polygone rectangulaire contenant un trou à l'intérieur.
SELECT ST_MAKEPOLYGON('LINESTRING(0 8, 6 8, 6 0, 0 0, 0 8)', 'LINESTRING(3 3, 3 5, 4 5,4 3, 3 3)');

ST_OVERLAPS

La commande ST_OVERLAPS permet de savoir si la dimension de la géométrie résultant de l'intersection des 2 géométries est égale à la dimension des géométries comparées tout en étant différente de chacune des géométries comparées.
Format d'utilisation :
<Etat> = ST_OVERLAPS(<Géométrie 1>, <Géométrie 2>)

Où :
  • <Etat> : Valeur de retour (booléen) :
    • Vrai si la géométrie résultat chevauche (overlap) les géométries passées en paramètres.
    • Faux dans le cas contraire.
  • <Géométrie 1> : Première géométrie manipulée. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
  • <Géométrie 2> : Seconde géométrie manipulée. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
Note : Les 2 géométries manipulées doivent être du même type (2 géométries en coordonnées en deux dimensions ou géographiques).
Exemple : Renvoie la liste des géométries se chevauchant.
SELECT ListeObjets.NomObjet1, ListeObjetsRef.NomObjetRef
FROM ListeObjets, ListeObjetsRef
WHERE ListeObjetsRef.idFamille = ListeObjets.idFamille AND
ST_OVERLAPS(ListeObjetsRef.GeoRef, ListeObjets.geoObjet)

ST_PERIMETER

La commande ST_PERIMETER renvoie le périmètre en mètres de la géométrie indiquée. Le périmètre est calculé à partir de la somme de chaque segment composant les contours de la géométrie.
Format d'utilisation :
<Périmètre> = ST_PERIMETER(<Géométrie>)

Où
  • <Périmètre> : Périmètre calculé en mètres.
  • <Géométrie> : Géométrie manipulée. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
Exemple : Renvoie le périmètre de chaque parcelle du lot numéro 15.
SELECT Idparcelle, ST_PERIMETER(GeoParcelle) AS PerimetreParcelle FROM Parcelles WHERE IDLot=15

ST_SIMPLIFY

La commande ST_SIMPLIFY renvoie une géométrie 'simplifiée' de la géométrie spécifiée. Le calcul de la nouvelle géométrie est réalisé à l'aide de l'algorithme "Ramer-Douglas-Peucker", la précision du calcul dépend du paramètre "tolérance" indiqué.
Format d'utilisation :
<Géométrie résultat> = ST_SIMPLIFY(<Géométrie>[, <Tolérance>)

Où :
  • <Géométrie résultat> : Géométrie simplifiée.
  • <Géométrie> : Géométrie manipulée. Cette géométrie peut être composée de plusieurs géométries. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
  • <Tolérance> (réel optionnel) : Représente en mètres le seuil de tolérance pour le calcul de la géométrie simplifiée. Les géométries faisant partie de la géométrie de départ dont la longueur est inférieure au seuil de tolérance ne seront pas rapportées dans la géométrie simplifiée.
Exemple : Cet exemple renvoie représentation simplifiée des objets. Les petites géométries dont la longueur est inférieure à 0,05m ne seront pas représentées dans la géométrie résultat.
SELECT IDObjet, ST_SIMPLIFY(ObjetDetaillé, 0.05) AS ObjetSimplifiée FROM ListeObjets

ST_SYMDIFFERENCE

La commande ST_SYMDIFFERENCE renvoie une géométrie correspondant l'union de 2 géométries passées en paramètre à laquelle sont soustraits les formes correspondant aux points communs aux 2 géométries.
Dans la géométrie résultante, tous les points communs aux 2 géométries sont exclus.
Cette opération correspond à une "union exclusive".
Format d'utilisation :
<Géométrie résultat> = ST_SYMDIFFERENCE(<Géométrie 1>, <Géométrie 2>)

Où :
  • <Géométrie résultat> : Géométrie résultat de la différence symétrique.
  • <Géométrie 1> : Première géométrie manipulée. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
  • <Géométrie 2> : Seconde géométrie manipulée. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
Note : Les 2 géométries manipulées doivent être du même type (2 géométries en coordonnées en deux dimensions ou géographiques).
Exemple : Renvoie la géométrie correspondant à l'union exclusive des deux géométries composant le produit numéro 1.
SELECT ST_SYMDIFFERENCE(GéométrieObjet1, GéométrieObjet2) AS ObjetResultant
FROM Objets
WHERE IDProduit=1

ST_TOUCHES

La commande ST_TOUCHES permet de savoir si deux géométries ont au moins un des points extérieurs décrivant leurs contours respectifs en commun.
Attention, aucun des points intérieurs des géométries ne doivent être en commun.
Format d'utilisation :
<Etat> = ST_TOUCHES(<Géométrie 1>, <Géométrie 2>)

Où :
  • <Etat> : Valeur de retour (booléen) :
    • Vrai si les 2 géométries décrites ont au moins un des points extérieurs décrivant leurs contours respectifs en commun.
    • Faux dans le cas contraire. Dans ce cas :
  • aucun des points composant les contours des géométries sont en commun.
  • un des points intérieurs de l'une des géométries est en commun avec l'autre géométrie.
  • <Géométrie 1> : Première géométrie manipulée. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
  • <Géométrie 2> : Seconde géométrie manipulée. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
Note : Les 2 géométries manipulées doivent être du même type (2 géométries en coordonnées en deux dimensions ou géographiques).
Exemple : Renvoie la liste des pays qui ont des frontières communes avec le pays passé en référence.
"GeoPaysRef" représente le pays de référence, pour lequel les pays frontaliers sont recherchés. "GeoPays" est le pays comparé.
SELECT NomPays FROM ListePays
WHERE ST_TOUCHES(GeoPaysRef, GeoPays)

ST_UNION

La commande ST_UNION renvoie une géométrie correspondant à l'union entre deux géométries.
La géométrie résultat correspond à la fusion des 2 géométries. Les points communs qui se chevauchent sont représentés normalement sans traitement particulier.
Format d'utilisation :
<Géométrie résultat> = ST_UNION(<Géométrie 1>, <Géométrie 2>)

Où :
  • <Géométrie résultat> : Géométrie correspondant à l'union des deux géométries.
  • <Géométrie 1> : Première géométrie manipulée. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
  • <Géométrie 2> : Seconde géométrie à manipuler. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
Note : Les 2 géométries manipulées doivent être du même type (2 géométries en coordonnées en deux dimensions ou géographiques).
Exemple : Suite à l'achat et à la réunion de 2 parcelles se touchant, renvoie le terrain résultant sous forme d'une géométrie.
SELECT IDNouvelleParcelle, ST_UNION(Parcelle1, Parcelle2) AS TerrainResultant
FROM ParcellesLot
WHERE IDLot=1

ST_WITHIN

La commande ST_WITHIN permet de savoir si la première géométrie se trouve dans la seconde géométrie, c'est-à-dire si TOUS les points composant la première géométrie sont contenus dans la seconde géométrie.
Format d'utilisation :
<Etat> = ST_WITHIN(<Géométrie 1>, <Géométrie 2>)

Où
  • <Etat> : Valeur de retour (booléen) :
    • Vrai si la première géométrie se trouve dans la seconde géométrie.
    • Faux dans le cas contraire. Dans ce cas, au moins un des points de la première géométrie n'est pas contenu dans la seconde géométrie.
  • <Géométrie 1> : Première géométrie manipulée. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
  • <Géométrie 2> : Seconde géométrie manipulée. Cette géométrie peut correspondre à :
    • une rubrique de type "Données géométriques" ou "Données géographiques".
    • une chaîne de caractères contenant la description de la géométrie.
Note : Les 2 géométries manipulées doivent être du même type (2 géométries en coordonnées en deux dimensions ou géographiques).
Exemple : Renvoie la liste des navires traversant le canal du Panama.
"PosGeoNavire" représente la position en temps réel du navire, "GeoCanalPanama" correspond à la géométrie décrivant géographiquement le canal du Panama.
SELECT NomNavire FROM ListeNavires
WHERE ST_WITHIN(PosGeoNavire, GeoCanalPanama)
Version minimum requise
  • Version 2024
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 27/03/2024

Signaler une erreur ou faire une suggestion | Aide en ligne locale