Les fonctions spatiales

Il existe plusieurs catégories de fonctions spatiales, comme par exemple celles qui permettent de passer du format WKT au WKB ou inversement. Voici quelques fonctions de départ :

ST_SRID() : retourne le code du système de projection de l'objet

ST_IsValid() : vérifie la géométrie des objets (pas d'erreur topologique)... Ceci concerne essentiellement les polygones voir par exemple

Remarque

Vérification de géométrie sous PostGIS

PostGIS ajoute d'autres fonctions de vérification de la géométrie

ST_IsValidReason() : retourne un texte indiquant les raisons d'une éventuelle invalidité.

ST_IsValidDetail() : retourne en plus un pointeur vers la partie non valide (à partir de PostGIS 2.0).

ST_MakeValid() : Tente de corriger les géométries invalides (PostGIS 2.0)

ST_X() : retourne la coordonnée X d'un point (et uniquement d'un point).

ST_Y() : coordonnée Y d'un point

ST_Centroid() : retourne le centroide d'un polygone

Exemple

1
ST_X(ST_Centroid(Geometry))

retourne la coordonnée X du centroide d'un polygone.

1
SELECT nom_comm, ST_X(ST_centroid(Geometry)) AS X, ST_Y(ST_centroid(Geometry)) AS Y FROM commune;
Utilisation St_Centroid

ST_Area() : retourne la surface d'un objet

ST_Perimeter() : retourne le périmètre d'un objet

ST_Buffer() : retourne un nouvel objet tampon construit autour d'un objet

ST_Length() : retourne la longueur d'un objet (attention à ne pas utiliser length() qui retourne la longueur du champ, spatialite autorise aussi Glength()).

AttentionPrefixe ST_

Il est recommandé de préfixer les commande par ST_ (Spatial Temporal) pour être conforme au standard SQL/MM. PostGIS a entamé une migration vers ce standard et même si certaines fonctions anciennes sont toujours disponibles sans ce préfixe, elles deviendront prochainement obsolètes. Donc autant prendre les bonnes habitudes !