Les fonctions suivantes sont celles dont un utilisateur normal de PostGIS peut avoir besoin. Il existe d'autres fonctions nécessaires au fonctionnement de PostGIS. Elles ne sont normalement pas destinées à un utilisateur standard.
PostGIS a entamé une phase de transition concernant le nom des fonctions pour les faire correspondre à la norme SQL-MM. La plupart des fonctions ont été renommées en utilisant le préfixe des types spatiaux (ST, pour Spatial Type). Les anciennes fonctions, toujours disponibles, ne sont pas listées ci-après si leur équivalent est disponible. Les fonctions non préfixées par ST, qui ne sont pas listées dans cette documentation, sont dépréciées et seront supprimées des prochaines version de PostGIS. IL NE FAUT PLUS LES UTILISER. |
Cette section répertorie les types de données PostgreSQL personnalisés installés par PostGIS pour représenter les données spatiales.
Chaque type de données décrit son comportement de type cast. Un type cast convertit les valeurs d'un type de données en un autre type. PostgreSQL permet de définir le comportement de casting pour les types personnalisés, ainsi que les fonctions utilisées pour convertir les valeurs du type. Les cast peuvent avoir un comportement automatique, ce qui permet la conversion automatique d'un argument de fonction vers un type supporté par la fonction.
Certains castings ont un comportement explicite, ce qui signifie que le cast doit être spécifié en utilisant la syntaxe CAST(myval As sometype)
ou myval::sometype
. Le casting explicite évite le problème des casts ambigus, qui peuvent se produire lors de l'utilisation d'une fonction surchargée qui ne supporte pas un type donné. Par exemple, une fonction peut accepter un box2d ou un box3d, mais pas un geometry. Puisque la géométrie a un cast automatique vers les deux types de boîtes, cela produit une erreur de "fonction ambiguë". Pour éviter cette erreur, utilisez un cast explicite vers le type de boîte souhaité.
Tous les types de données peuvent être transformés en text
, il n'est donc pas nécessaire de le spécifier explicitement.
geometry_dump
pour les composants d'une géométrie.geometry_dump
pour les coordonnées dans une géométrie.geometry_dump
pour les segments d'une géométrie.geometry_dump
pour les anneaux extérieurs et intérieurs d'un polygone.Ces fonctions vérifient si les géométries sont valides selon la norme SFS de l'OGC. Elles fournissent également des informations sur la nature et la localisation de l'invalidité. Il existe également une fonction permettant de créer une géométrie valide à partir d'une géométrie invalide.
valid_detail
indiquant si une géométrie est valide ou sinon une raison et une localisation.LINESTRING
depuis la représentation binaire WKB et le srid donnéVRAI
si la boite englobante 2D de A intersecte la boite englobante 2D de B.TRUE
si la boîte de délimitation 2D (en cache) d'une géométrie intersecte une boîte de délimitation 2D de précision flottante (BOX2DF).TRUE
si une boîte de délimitation 2D de précision flottante (BOX2DF) intersecte la boîte de délimitation 2D (mise en cache) d'une géométrie.TRUE
si deux boîtes de délimitation 2D à précision flottante (BOX2DF) se croisent.TRUE
si la boîte de délimitation n-D de A intersecte la boîte de délimitation n-D de B.TRUE
si la boîte de délimitation n-D (en cache) d'une géométrie intersecte une boîte de délimitation de précision flottante n-D (GIDX).TRUE
si une boîte de délimitation de précision flottante n-D (GIDX) intersecte la boîte de délimitation n-D (mise en cache) d'une géométrie.TRUE
si deux boîtes de délimitation (GIDX) de précision flottante n-D se croisent.TRUE
si la boîte englobante de A chevauche ou est à gauche de celle de B.TRUE
si la boîte englobante de A chevauche ou est inférieure à celle de B.TRUE
si la boîte de délimitation de A chevauche ou est à droite de celle de B.TRUE
si la boîte de délimitation de A est strictement à gauche de celle de B.TRUE
si la boîte de délimitation de A est strictement inférieure à celle de B.TRUE
si les coordonnées et l'ordre des coordonnées de la géométrie/géographie A sont les mêmes que les coordonnées et l'ordre des coordonnées de la géométrie/géographie B.TRUE
si la boîte de délimitation de A est strictement à droite de celle de B.TRUE
si la boîte de délimitation de A est contenue par celle de B.TRUE
si la boîte de délimitation 2D d'une géométrie est contenue dans une boîte de délimitation 2D à précision flottante (BOX2DF).TRUE
si une boîte de délimitation de précision flottante 2D (BOX2DF) est contenue dans la boîte de délimitation 2D d'une géométrie.TRUE
si une boîte de délimitation de précision flottante 2D (BOX2DF) est contenue dans une autre boîte de délimitation de précision flottante 2D.TRUE
si la boîte de délimitation de A chevauche ou est au-dessus de celle de B.TRUE
si la boîte de délimitation de A est strictement au-dessus de celle de B.TRUE
si la boîte de délimitation de A contient celle de B.TRUE
si la boîte de délimitation 2D d'une géométrie contient une boîte de délimitation de précision flottante 2D (GIDX).TRUE
si une boîte de délimitation de précision flottante 2D (BOX2DF) contient la boîte de délimitation 2D d'une géométrie.TRUE
si une boîte de délimitation de précision flottante 2D (BOX2DF) contient une autre boîte de délimitation de précision flottante 2D (BOX2DF).TRUE
si la boîte de délimitation de A est la même que celle de B.ST_Length
ST_Perimeter
.Ces fonctions opèrent sur des ensembles de géométries polygonales qui forment des "couvertures implicites". Pour former une couverture valide, les polygones ne doivent pas se chevaucher et les sommets des arêtes adjacentes doivent correspondre exactement. Les couvertures sont rapides à traiter et peuvent être exploitées avec des fonctions window, qui conservent la topologie de la couverture à l'intérieur de la partition de la fenêtre tout en modifiant les arêtes.
Ces fonctions modifient la position et la forme des géométries à l'aide de transformations affines.
Ces fonctions produisent ou utilisent des boîtes de délimitation. Elles peuvent également fournir et accepter des valeurs géométriques, en utilisant des transformations automatiques ou explicites.
Voir aussi Section 12.7, “Fonctions Box de PostGIS”.
Ces fonctions permettent de travailler avec des trajectoires. Une trajectoire est une géométrie linéaire avec des mesures croissantes (valeur M) sur chaque coordonnée. Les données spatio-temporelles peuvent être modélisées en utilisant des temps relatifs (comme l'époque) comme valeurs de mesure.
SFCGAL est une bibliothèque C++ autour de CGAL qui fournit des fonctions spatiales avancées en 2D et 3D. Pour des raisons de robustesse, les coordonnées géométriques sont représentées par des nombres rationnels exacts.
Les instructions d'installation de la bibliothèque se trouvent sur la page d'accueil de SFCGAL (http://www.sfcgal.org). Pour activer les fonctions, utilisez create extension postgis_sfcgal
.
Ces fonctions mettent en œuvre un mécanisme de verrouillage des lignes pour prendre en charge les transactions longues. Elles sont fournies principalement pour les implémenteurs de la spécification Web Feature Service.
Pour que le mécanisme de verrouillage fonctionne correctement, le sérialisable niveau d'isolation de la transaction doit être utilisé. |
Cette section liste les variables globales spécifiques de PostGIS appelées GUC : Grand Unified Custom Variables. Elles peuvent être réglées globalement, par base de données, par session ou par transaction. Il est préférable de les régler au niveau global ou au niveau de la base de donnée.
Ces fonctions sont des utilitaires de dépannage et de réparation des données géométriques. Elles ne sont nécessaires que si les données géométriques sont corrompues d'une manière ou d'une autre, ce qui ne devrait jamais se produire dans des circonstances normales.