Chapter 7. Référence PostGIS

Table of Contents
7.1. Types de données PostGIS Geometry/Geography/Box
7.2. Fonctions de gestion des tables
7.3. Constructeurs de géométries
7.4. Fonctions d'accès aux géométries
7.5. Éditeurs de géométrie
7.6. Validation de la géométrie
7.7. Fonctions des systèmes de référence spatiale
7.8. Import de géométrie
7.8.1. Well-Known Text (WKT)
7.8.2. Well-Known Binary (WKB)
7.8.3. Autres formats
7.9. Export de géométrie
7.9.1. Well-Known Text (WKT)
7.9.2. Well-Known Binary (WKB)
7.9.3. Autres formats
7.10. Opérateurs
7.10.1. Opérateurs de Bounding Box
7.10.2. Opérateurs de distance
7.11. Relations spatiales
7.11.1. Relations topologiques
7.11.2. Relations de distance
7.12. Fonctions de mesure
7.13. Fonctions de superposition
7.14. Traitement des géométries
7.15. Couvertures
7.16. Transformations affines
7.17. Fonctions de clustering
7.18. Fonctions des boîtes de délimitation
7.19. Référencement linéaire
7.20. Fonctions de trajectoire
7.21. Fonctions SFCGAL
7.22. Support des transactions longues
7.23. Fonctions de version
7.24. Variables PostGIS GUC (Grand Unified Custom Variables)
7.25. Fonctions de dépannage

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.

[Note]

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.

7.1. Types de données PostGIS Geometry/Geography/Box

Abstract

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.

box2d — Le type représentant une boîte de délimitation bidimensionnelle.
box3d — Le type représentant une boîte de délimitation tridimensionnelle.
geometry — Le type représentant les caractéristiques spatiales avec des systèmes de coordonnées planaires.
geometry_dump — Un type composite utilisé pour décrire les parties d'une géométrie complexe.
geography — Le type représentant les entités spatiales avec des systèmes de coordonnées géodésiques (ellipsoïdales).

7.2. Fonctions de gestion des tables

Abstract

Ces fonctions permettent de définir des tables contenant des colonnes géométriques.

AddGeometryColumn — Ajoute une colonne de géométrie à une table existante.
DropGeometryColumn — Supprime une colonne géométrique d'une table spatiale.
DropGeometryTable — Supprime une table et toutes ces références dans geometry_columns.
Find_SRID — Renvoie le SRID défini pour une colonne géométrique.
Populate_Geometry_Columns — Assure que les colonnes géométriques sont définies avec des modificateurs de type ou qu'elles sont soumises à des contraintes spatiales appropriées.
UpdateGeometrySRID — Met à jour le SRID de tous les éléments d'une colonne géométrique et les métadonnées de la table.

7.3. Constructeurs de géométries

ST_Collect — Crée une géométrie GeometryCollection ou Multi à partir d'un ensemble de géométries.
ST_LineFromMultiPoint — Crée une LineString à partir d'une géométrie MultiPoint.
ST_MakeEnvelope — Crée un polygone rectangulaire à partir des coordonnées minimales et maximales.
ST_MakeLine — Crée une LineString à partir de géométries Point, MultiPoint ou LineString.
ST_MakePoint — Crée un point 2D, 3DZ ou 4D.
ST_MakePointM — Crée un point à partir des valeurs X, Y et M.
ST_MakePolygon — Crée un polygone à partir d'une collection et d'une liste facultative de trous.
ST_Point — Crée un point avec des valeurs X, Y et SRID.
ST_PointZ — Crée un point avec des valeurs X, Y, Z et SRID.
ST_PointM — Crée un point avec des valeurs X, Y, M et SRID.
ST_PointZM — Crée un point avec des valeurs X, Y, Z, M et SRID.
ST_Polygon — Crée un polygone à partir d'une LineString avec un SRID spécifié.
ST_TileEnvelope — Crée un polygone rectangulaire dans Web Mercator (SRID:3857) en utilisant le système de tuiles XYZ.
ST_HexagonGrid — Renvoie un ensemble d'hexagones et d'indices de cellules qui couvrent complètement les limites de l'argument géométrie.
ST_Hexagon — Renvoie un seul hexagone, en utilisant la taille du bord et les coordonnées de la cellule fournies dans l'espace de la grille de l'hexagone.
ST_SquareGrid — Renvoie un ensemble de carrés de grille et d'indices de cellules qui couvrent complètement les limites de l'argument géométrie.
ST_Square — Renvoie un seul carré, en utilisant la taille du bord et la coordonnée de la cellule fournies dans l'espace de la grille du carré.
ST_Letters — Renvoie les lettres d'entrée rendues sous forme de géométrie avec une position de départ par défaut à l'origine et une hauteur de texte par défaut de 100.

7.4. Fonctions d'accès aux géométries

GeometryType — Renvoie le type d'une géométrie sous forme de texte.
ST_Boundary — Renvoie la limite d'une géométrie.
ST_BoundingDiagonal — Retourne la diagonale de la boîte englobante pour la géométrie en argument.
ST_CoordDim — Renvoie la dimension des coordonnées d'une géométrie.
ST_Dimension — Renvoie la dimension topologique d'une géométrie.
ST_Dump — Renvoie un ensemble de lignes geometry_dump pour les composants d'une géométrie.
ST_DumpPoints — Renvoie un ensemble de lignes geometry_dump pour les coordonnées dans une géométrie.
ST_DumpSegments — Renvoie un ensemble de lignes geometry_dump pour les segments d'une géométrie.
ST_DumpRings — Renvoie un ensemble de lignes geometry_dump pour les anneaux extérieurs et intérieurs d'un polygone.
ST_EndPoint — Renvoie le dernier point d'une LineString ou CircularLineString.
ST_Envelope — Renvoie une géométrie représentant la boîte de délimitation d'une géométrie.
ST_ExteriorRing — Renvoie une ligne représentant l'anneau extérieur d'un polygone.
ST_GeometryN — Renvoie un élément d'une collection de géométries.
ST_GeometryType — Renvoie le type SQL-MM d'une géométrie sous forme de texte.
ST_HasArc — Teste si une géométrie contient un arc de cercle
ST_InteriorRingN — Renvoie le Nième anneau intérieur (trou) d'un polygone.
ST_IsClosed — Teste si les points de départ et d'arrivée d'une LineString coïncident. Pour une PolyhedralSurface, teste si elle est fermée (volumétrique).
ST_IsCollection — Teste si une géométrie est un type de collection de géométrie.
ST_IsEmpty — Teste si une géométrie est vide.
ST_IsPolygonCCW — Teste si les polygones ont des anneaux extérieurs orientés dans le sens inverse des aiguilles d'une montre et des anneaux intérieurs orientés dans le sens des aiguilles d'une montre.
ST_IsPolygonCW — Teste si les polygones ont des anneaux extérieurs orientés dans le sens des aiguilles d'une montre et des anneaux intérieurs orientés dans le sens inverse des aiguilles d'une montre.
ST_IsRing — Teste si une ligne est fermée et simple.
ST_IsSimple — Teste si une géométrie n'a pas de points d'auto-intersection ou d'auto-tangente.
ST_M — Renvoie la coordonnée M d'un point.
ST_MemSize — Renvoie la quantité d'espace mémoire que prend une géométrie.
ST_NDims — Renvoie la dimension des coordonnées d'une géométrie.
ST_NPoints — Retourne le nombre de points (vertex) d'un objet géométrique.
ST_NRings — Renvoie le nombre d'anneaux dans une géométrie polygonale.
ST_NumGeometries — Renvoie le nombre d'éléments dans une collection de géométrie.
ST_NumInteriorRings — Renvoie le nombre d'anneaux intérieurs (trous) d'un polygone.
ST_NumInteriorRing — Renvoie le nombre d'anneaux intérieurs (trous) d'un polygone. Alias pour ST_NumInteriorRings
ST_NumPatches — Renvoie le nombre de faces d'une surface polyédrique. Retourne null pour les géométries non polyédriques.
ST_NumPoints — Renvoie le nombre de points dans une LineString ou une CircularString.
ST_PatchN — Renvoie la Nième géométrie (face) d'une PolyhedralSurface.
ST_PointN — Renvoie le Nième point de la première LineString ou LineString circulaire d'une géométrie.
ST_Points — Renvoie un MultiPoint contenant les coordonnées d'une géométrie.
ST_StartPoint — Renvoie le premier point d'une LineString.
ST_Summary — Renvoie un résumé textuel du contenu d'une géométrie.
ST_X — Renvoie la coordonnée X d'un point.
ST_Y — Renvoie la coordonnée Y d'un point.
ST_Z — Renvoie la coordonnée Z d'un point.
ST_Zmflag — Retourne un code indiquant la dimension des coordonnées ZM d'une géométrie.

7.5. Éditeurs de géométrie

Abstract

Ces fonctions créent des géométries modifiées en changeant le type, la structure ou les sommets.

ST_AddPoint — Ajoute un point à une LineString.
ST_CollectionExtract — Pour une collection de géométries spécifiée, renvoie une multi-géométrie contenant uniquement des éléments d'un type spécifié.
ST_CollectionHomogenize — Renvoie la représentation la plus simple d'une collection de géométries.
ST_CurveToLine — Convertit une géométrie contenant des courbes en une géométrie linéaire.
ST_Scroll — Modifier le point de départ d'une LineString fermée.
ST_FlipCoordinates — Renvoie une version d'une géométrie dont les axes X et Y sont inversés.
ST_Force2D — Forcer les géométries à passer en "mode bidimensionnel".
ST_Force3D — Force les géométries en mode XYZ. Il s'agit d'un alias de ST_Force3DZ.
ST_Force3DZ — Forcer les géométries en mode XYZ.
ST_Force3DM — Forcer les géométries en mode XYM.
ST_Force4D — Forcer les géométries en mode XYZM.
ST_ForcePolygonCCW — Oriente tous les anneaux extérieurs dans le sens inverse des aiguilles d'une montre et tous les anneaux intérieurs dans le sens des aiguilles d'une montre.
ST_ForceCollection — Convertir la géométrie en une GEOMETRYCOLLECTION.
ST_ForcePolygonCW — Oriente tous les anneaux extérieurs dans le sens des aiguilles d'une montre et tous les anneaux intérieurs dans le sens inverse des aiguilles d'une montre.
ST_ForceSFS — Forcer les géométries à utiliser uniquement les types de géométrie SFS 1.1.
ST_ForceRHR — Force l'orientation des sommets d'un polygone à suivre la règle de la main droite.
ST_ForceCurve — Retransformation d'une géométrie dans son type de courbure, le cas échéant.
ST_LineToCurve — Convertit une géométrie linéaire en une géométrie courbe.
ST_Multi — Renvoie la géométrie sous la forme d'une géométrie MULTI*.
ST_LineExtend — Returns a line with the last and first segments extended the specified distance(s).
ST_Normalize — Renvoie la géométrie sous sa forme canonique.
ST_Project — Returns a point projected from a start point by a distance and bearing (azimuth).
ST_QuantizeCoordinates — Met à zéro les bits de poids faible des coordonnées
ST_RemovePoint — Supprime un point d'une ligne.
ST_RemoveRepeatedPoints — Renvoie une version d'une géométrie dont les points en double ont été supprimés.
ST_Reverse — Retourne la géométrie avec l'ordre des sommets inversé.
ST_Segmentize — Renvoie une geometry/geography modifiée dont aucun segment ne dépasse une distance donnée.
ST_SetPoint — Remplacer le point d'une ligne par un point donné.
ST_ShiftLongitude — Décale les coordonnées de longitude d'une géométrie entre -180..180 et 0..360.
ST_WrapX — Enveloppe une géométrie autour d'une valeur X.
ST_SnapToGrid — Accrocher tous les points de la géométrie d'entrée à une grille régulière.
ST_Snap — Accrocher les segments et les sommets de la géométrie d'entrée aux sommets d'une géométrie de référence.
ST_SwapOrdinates — Renvoie une version de la géométrie donnée avec les valeurs d'ordonnées permutées.

7.6. Validation de la géométrie

Abstract

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.

ST_IsValid — Teste si une géométrie est bien formée en 2D.
ST_IsValidDetail — Renvoie une ligne valid_detail indiquant si une géométrie est valide ou sinon une raison et une localisation.
ST_IsValidReason — Renvoie un texte indiquant si une géométrie est valide, ou la raison de son invalidité.
ST_MakeValid — Tente de rendre valide une géométrie invalide sans perdre de sommets.

7.7. Fonctions des systèmes de référence spatiale

Abstract

Ces fonctions fonctionnent avec le système de référence spatiale des géométries défini dans la table spatial_ref_sys.

ST_InverseTransformPipeline — Renvoie une nouvelle géométrie dont les coordonnées ont été transformées dans un système de référence spatial différent en utilisant l'inverse d'un pipeline de transformation de coordonnées défini.
ST_SetSRID — Définir le SRID d'une géométrie.
ST_SRID — Renvoie l'identifiant de référence spatiale d'une géométrie.
ST_Transform — Renvoie une nouvelle géométrie dont les coordonnées ont été transformées dans un système de référence spatial différent.
ST_TransformPipeline — Retourner une nouvelle géométrie avec des coordonnées transformées dans un système de référence spatial différent à l'aide d'un pipeline de transformation de coordonnées défini.
postgis_srs_codes — Renvoie la liste des codes SRS associés à l'autorité donnée.
postgis_srs — Renvoyer une fiche de métadonnées pour l'autorité et le srid demandés.
postgis_srs_all — Renvoie des enregistrements de métadonnées pour chaque système de référence spatiale dans la base de données Proj sous-jacente.
postgis_srs_search — Renvoyer les enregistrements de métadonnées pour les systèmes de coordonnées projetées dont les zones d'utilisation contiennent entièrement le paramètre bounds.

7.8. Import de géométrie

Abstract

Ces fonctions créent des objets géométriques à partir de divers formats textuels ou binaires.

7.8.1. Well-Known Text (WKT)

ST_BdPolyFromText — Construit un Polygon à partir d'une collection de lignes fermées, exprimées sous forme de MultiLineString en représentation Well-Known text.
ST_BdMPolyFromText — Construit un MultiPolygon à partir d'une collection de lignes fermées, exprimées sous forme de MultiLineString en représentation Well-Known text.
ST_GeogFromText — Retourne un objet de type geography à partir de sa représentation Well-Know Text (WKT ou EWKT).
ST_GeographyFromText — Retourne un objet de type geography à partir de sa représentation Well-Know Text (WKT ou EWKT).
ST_GeomCollFromText — Crée une collection Geometry à partir de la collection WKT avec le SRID donné. Si le SRID n'est pas donné, la valeur par défaut est 0.
ST_GeomFromEWKT — Retourne un objet ST_Geometry à partir de sa représentation textuelle étendue (Extended Well-Known Text representation, EWKT).
ST_GeomFromMARC21 — Prend les données géographiques MARC21/XML en entrée et renvoie un objet géométrique PostGIS.
ST_GeometryFromText — Retourne un objet ST_Geometry à partir de sa représentation textuelle Well-Known Text (WKT). Alias pour ST_GeomFromText
ST_GeomFromText — Retourne un objet ST_Geometry à partir de sa représentation textuelle Well-Known Text (WKT).
ST_LineFromText — Construit une géométrie à partir d'une représentation WKT avec le SRID donné. Si aucun SRID n'est donné, la valeur par défaut est 0.
ST_MLineFromText — Retourne un objet de type ST_MultiLineString à partir de sa représentation WKT.
ST_MPointFromText — Créé une Geometry depuis un WKT avec le SRID donné. Si le SRID n'est pas fourni, il sera défini par défaut à 0.
ST_MPolyFromText — Crée une géométrie multi-polygone à partir de WKT avec le SRID donné. Si le SRID n'est pas donné, la valeur par défaut est 0.
ST_PointFromText — Construit une géométrie point à partir d'une représentation WKT et le SRID donné. Si aucun SRID n'est donné, la valeur par défaut est 0.
ST_PolygonFromText — Créé une Geometry depuis un WKT avec le SRID donné. Si le SRID n'est pas fourni, il sera défini par défaut à 0.
ST_WKTToSQL — Retourne un objet ST_Geometry à partir de sa représentation textuelle Well-Known Text (WKT). Alias pour ST_GeomFromText

7.8.2. Well-Known Binary (WKB)

ST_GeogFromWKB — Retourne un objet de type geography à partir de sa représentation binaire Well-Know Binary (WKB ou EWKB).
ST_GeomFromEWKB — Retourne un objet ST_Geometry à partir de sa représentation binaire étendue (Extended Well-Known Binary representation, EWKB).
ST_GeomFromWKB — Retourne un objet de type geometry à partir de sa représentation binaire Well-Know Binary (WKB) et d'un SRID optionnel.
ST_LineFromWKB — Construit une LINESTRING depuis la représentation binaire WKB et le srid donné
ST_LinestringFromWKB — Construit une géométrie depuis la représentation binaire WKB et le SRID donné.
ST_PointFromWKB — Construit une géométrie depuis la représentation binaire WKB et le SRID donné.
ST_WKBToSQL — Retourne un objet ST_Geometry à partir de sa représentation textuelle Well-Known Binary (WKB). Alias pour ST_GeomFromWKB sans SRID

7.8.3. Autres formats

ST_Box2dFromGeoHash — Retourne une BOX2D à partir d'une chaîne GeoHash.
ST_GeomFromGeoHash — Retourne une geometry depuis une chaîne GeoHash.
ST_GeomFromGML — Prend en paramètre une représentation GML d'une géométrie et renvoie un objet PostGIS de type geometry.
ST_GeomFromGeoJSON — Prend en entrée une géométrie au format geojson et renvoie un objet Postgis de type geometry.
ST_GeomFromKML — Prend en entrée une géométrie au format KML et renvoie un objet Postgis de type geometry.
ST_GeomFromTWKB — Crée une instance de geometry depuis une représentation de géométrie en TWKB ("Tiny Well-Known Binary").
ST_GMLToSQL — Retourne un objet de type ST_Geometry à partir de sa représentation GML. Alias pour ST_GeomFromGML
ST_LineFromEncodedPolyline — Crée une LineString depuis une polyligne encodée ( "Encoded Polyline" )
ST_PointFromGeoHash — Retourne un point à partir d'une chaîne GeoHash.
ST_FromFlatGeobufToTable — Crée une table basée sur la structure des données FlatGeobuf.
ST_FromFlatGeobuf — Lit les données FlatGeobuf.

7.9. Export de géométrie

Abstract

Ces fonctions convertissent les objets géométriques en divers formats textuels ou binaires.

7.9.1. Well-Known Text (WKT)

ST_AsEWKT — Renvoie la représentation Well-Known Text (WKT) de la géométrie avec les métadonnées SRID.
ST_AsText — Renvoie la représentation Well-Known Text (WKT) de la géométrie/geography sans métadonnées SRID.

7.9.2. Well-Known Binary (WKB)

ST_AsBinary — Renvoie la représentation OGC/ISO Well-Known Binary (WKB) de la géométrie/geography sans les métadonnées SRID.
ST_AsEWKB — Renvoie la représentation Extended Well-Known Binary (EWKB) de la géométrie avec les métadonnées SRID.
ST_AsHEXEWKB — Renvoie une géométrie au format HEXEWKB (en tant que texte) en utilisant l'encodage little-endian (NDR) ou big-endian (XDR).

7.9.3. Autres formats

ST_AsEncodedPolyline — Renvoie une polyligne encodée à partir d'une géométrie LineString.
ST_AsFlatGeobuf — Renvoie une représentation FlatGeobuf d'un ensemble de lignes.
ST_AsGeobuf — Retourne une représentation Geobuf d'un ensemble de lignes.
ST_AsGeoJSON — Renvoie une géométrie sous la forme d'un élément GeoJSON.
ST_AsGML — Renvoyer la géométrie en tant qu'élément GML version 2 ou 3.
ST_AsKML — Renvoyer la géométrie sous forme d'élément KML.
ST_AsLatLonText — Renvoie la représentation en degrés, minutes et secondes du point donné.
ST_AsMARC21 — Renvoie la géométrie sous forme d'enregistrement MARC21/XML avec un champ de données géographiques (034).
ST_AsMVTGeom — Transforme une géométrie dans l'espace de coordonnées d'une tuile MVT.
ST_AsMVT — Fonction d'agrégation renvoyant une représentation MVT d'un ensemble de lignes.
ST_AsSVG — Renvoie les données de chemin SVG pour une géométrie.
ST_AsTWKB — Renvoie la géométrie sous forme de TWKB, diminutif de "Tiny Well-Known Binary"
ST_AsX3D — Renvoie une géométrie au format X3D xml node element : ISO-IEC-19776-1.2-X3DEncodings-XML
ST_GeoHash — Retourne une représentation GeoHash de la géométrie.

7.10. Opérateurs

7.10.1. Opérateurs de Bounding Box

&& — Renvoi VRAI si la boite englobante 2D de A intersecte la boite englobante 2D de B.
&&(geometry,box2df) — Renvoie 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).
&&(box2df,geometry) — Renvoie 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.
&&(box2df,box2df) — Renvoie TRUE si deux boîtes de délimitation 2D à précision flottante (BOX2DF) se croisent.
&&& — Renvoie TRUE si la boîte de délimitation n-D de A intersecte la boîte de délimitation n-D de B.
&&&(geometry,gidx) — Renvoie 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).
&&&(gidx,geometry) — Renvoie 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.
&&&(gidx,gidx) — Renvoie TRUE si deux boîtes de délimitation (GIDX) de précision flottante n-D se croisent.
&< — Renvoie TRUE si la boîte englobante de A chevauche ou est à gauche de celle de B.
&<| — Renvoie TRUE si la boîte englobante de A chevauche ou est inférieure à celle de B.
&> — Renvoie TRUE si la boîte de délimitation de A chevauche ou est à droite de celle de B.
<< — Renvoie TRUE si la boîte de délimitation de A est strictement à gauche de celle de B.
<<| — Renvoie TRUE si la boîte de délimitation de A est strictement inférieure à celle de B.
= — Renvoie 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.
>> — Renvoie TRUE si la boîte de délimitation de A est strictement à droite de celle de B.
@ — Renvoie TRUE si la boîte de délimitation de A est contenue par celle de B.
@(geometry,box2df) — Renvoie 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).
@(box2df,geometry) — Renvoie 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.
@(box2df,box2df) — Renvoie 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.
|&> — Renvoie TRUE si la boîte de délimitation de A chevauche ou est au-dessus de celle de B.
|>> — Renvoie TRUE si la boîte de délimitation de A est strictement au-dessus de celle de B.
~ — Renvoie TRUE si la boîte de délimitation de A contient celle de B.
~(geometry,box2df) — Renvoie 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).
~(box2df,geometry) — Renvoie 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.
~(box2df,box2df) — Renvoie 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).
~= — Renvoie TRUE si la boîte de délimitation de A est la même que celle de B.

7.10.2. Opérateurs de distance

<-> — Renvoie la distance en 2D entre A et B.
|=| — Renvoie la distance entre les trajectoires A et B à leur point d'approche le plus proche.
<#> — Renvoie la distance 2D entre les boîtes de délimitation A et B.
<<->> — Renvoie la distance n-D entre les centroïdes des boîtes de délimitation A et B.
<<#>> — Renvoie la distance n-D entre les boîtes de délimitation A et B.

7.11. Relations spatiales

Abstract

Ces fonctions déterminent les relations spatiales entre les géométries.

7.11.1. Relations topologiques

ST_3DIntersects — Teste si deux géométries se croisent dans l'espace en 3D - uniquement pour les points, les lignes, les polygones, les surfaces polyédriques (aire)
ST_Contains — Tests si chaque point de B est situé dans A, et que leurs intérieurs ont un point commun
ST_ContainsProperly — Tests si chaque point de B se trouve à l'intérieur de A
ST_CoveredBy — Tests si chaque point de A se trouve dans B
ST_Covers — Tests si chaque point de B est situé dans A
ST_Crosses — Teste si deux géométries ont en commun certains points intérieurs, mais pas tous
ST_Disjoint — Teste si deux géométries n'ont pas de points communs
ST_Equals — Teste si deux géométries comprennent le même ensemble de points
ST_Intersects — Teste si deux géométries se croisent (elles ont au moins un point en commun)
ST_LineCrossingDirection — Renvoie un nombre indiquant le comportement de croisement de deux LineStrings
ST_OrderingEquals — Teste si deux géométries représentent la même géométrie et ont des points dans le même ordre directionnel
ST_Overlaps — Teste si deux géométries ont la même dimension et se croisent, mais si chacune a au moins un point qui n'est pas dans l'autre
ST_Relate — Teste si deux géométries ont une relation topologique correspondant à un modèle de matrice d'intersection, ou calcule leur matrice d'intersection
ST_RelateMatch — Teste si une matrice d'intersection DE-9IM correspond à un modèle de matrice d'intersection
ST_Touches — Teste si deux géométries ont au moins un point en commun, mais que leurs intérieurs ne se croisent pas
ST_Within — Tests si chaque point de A se trouve dans B, et que leurs intérieurs ont un point commun

7.11.2. Relations de distance

ST_3DDWithin — Teste si deux géométries 3D se trouvent à une distance 3D donnée
ST_3DDFullyWithin — Teste si deux géométries 3D sont entièrement comprises dans une distance 3D donnée
ST_DFullyWithin — Teste si deux géométries sont entièrement comprises dans une distance donnée
ST_DWithin — Teste si deux géométries se trouvent à une distance donnée
ST_PointInsideCircle — Teste si un point géométrique se trouve à l'intérieur d'un cercle défini par un centre et un rayon

7.12. Fonctions de mesure

Abstract

Ces fonctions permettent de calculer des mesures de distance, de surface et d'angle. Il existe également des fonctions permettant de calculer les valeurs géométriques déterminées par les mesures.

ST_Area — Renvoie l'aire d'une géométrie polygonale.
ST_Azimuth — Renvoie l'azimut basé sur le nord d'une ligne entre deux points.
ST_Angle — Renvoie l'angle entre deux vecteurs définis par 3 ou 4 points, ou 2 lignes.
ST_ClosestPoint — Renvoie le point 2D sur g1 qui est le plus proche de g2. Il s'agit du premier point de la ligne la plus courte d'une géométrie à l'autre.
ST_3DClosestPoint — Renvoie le point 3D sur g1 qui est le plus proche de g2. Il s'agit du premier point de la ligne 3D la plus courte.
ST_Distance — Renvoie la distance entre deux valeurs de geometry ou geography.
ST_3DDistance — Renvoie la distance cartésienne minimale en 3D (basée sur la référence spatiale) entre deux géométries en unités projetées.
ST_DistanceSphere — Renvoie la distance minimale en mètres entre deux géométries lon/lat en utilisant un modèle de terre sphérique.
ST_DistanceSpheroid — Renvoie la distance minimale entre deux géométries lon/lat en utilisant un modèle de terre sphéroïdale.
ST_FrechetDistance — Renvoie la distance de Fréchet entre deux géométries.
ST_HausdorffDistance — Renvoie la distance de Hausdorff entre deux géométries.
ST_Length — Renvoie la longueur 2D d'une géométrie linéaire.
ST_Length2D — Renvoie la longueur 2D d'une géométrie linéaire. Alias de ST_Length
ST_3DLength — Renvoie la longueur 3D d'une géométrie linéaire.
ST_LengthSpheroid — Renvoie la longueur/périmètre 2D ou 3D d'une géométrie lon/lat sur un sphéroïde.
ST_LongestLine — Renvoie la ligne 2D la plus longue entre deux géométries.
ST_3DLongestLine — Renvoie la ligne 3D la plus longue entre deux géométries
ST_MaxDistance — Renvoie la plus grande distance 2D entre deux géométries en unités projetées.
ST_3DMaxDistance — Renvoie la distance maximale cartésienne 3D (basée sur la référence spatiale) entre deux géométries en unités projetées.
ST_MinimumClearance — Renvoie la clearance (le dégagement) d'une géométrie, une mesure de la robustesse d'une géométrie.
ST_MinimumClearanceLine — Renvoie la chaîne de lignes à deux points couvrant le dégagement (clearance) minimum d'une géométrie.
ST_Perimeter — Renvoie la longueur de la limite d'une géométrie polygonale ou d'une géographie.
ST_Perimeter2D — Renvoie le périmètre 2D d'une géométrie polygonale. Alias de ST_Perimeter.
ST_3DPerimeter — Renvoie le périmètre 3D d'une géométrie polygonale.
ST_ShortestLine — Renvoie la ligne 2D la plus courte entre deux géométries
ST_3DShortestLine — Renvoie la ligne 3D la plus courte entre deux géométries

7.13. Fonctions de superposition

Abstract

Ces fonctions calculent les résultats découlant de la superposition de deux géométries. Elles sont également connues sous le nom d'opérations booléennes de la théorie des ensembles de points. Certaines fonctions connexes sont également fournies.

ST_ClipByBox2D — Calcule la partie d'une géométrie située à l'intérieur d'un rectangle.
ST_Difference — Calcule une géométrie représentant la partie de la géométrie A qui n'intersecte pas la géométrie B.
ST_Intersection — Calcule une géométrie représentant la partie partagée des géométries A et B.
ST_MemUnion — Fonction d'agrégation qui fusionne les géométries d'une manière efficace sur le plan de la mémoire mais plus lente
ST_Node — Nœuds d'une collection de lignes.
ST_Split — Renvoie une collection de géométries créées en divisant une géométrie par une autre géométrie.
ST_Subdivide — Calcule une subdivision rectiligne d'une géométrie.
ST_SymDifference — Calcule une géométrie représentant les parties des géométries A et B qui ne s'intersectent pas.
ST_UnaryUnion — Calcule l'union des composantes d'une seule géométrie.
ST_Union — Calcule une géométrie représentant l'union des ensembles de points des géométries d'entrée.

7.14. Traitement des géométries

Abstract

Ces fonctions permettent de calculer des constructions géométriques ou de modifier la taille ou la forme d'une géométrie.

ST_Buffer — Calcule une géométrie couvrant tous les points situés à une distance donnée d'une géométrie.
ST_BuildArea — Crée une géométrie polygonale formée par le tracé d'une géométrie.
ST_Centroid — Renvoie le centre géométrique d'une géométrie.
ST_ChaikinSmoothing — Renvoie une version lissée d'une géométrie, en utilisant l'algorithme Chaikin
ST_ConcaveHull — Calcule une géométrie éventuellement concave qui contient tous les sommets de la géométrie d'entrée
ST_ConvexHull — Calcule l'enveloppe convexe d'une géométrie.
ST_DelaunayTriangles — Renvoie la triangulation de Delaunay des sommets d'une géométrie.
ST_FilterByM — Supprime les vertices en fonction de leur valeur M
ST_GeneratePoints — Génère des points aléatoires contenus dans un polygone ou un multipolygone.
ST_GeometricMedian — Renvoie la médiane géométrique d'un MultiPoint.
ST_LineMerge — Renvoie les lignes formées par la couture d'une MultiLineString.
ST_MaximumInscribedCircle — Calcule le plus grand cercle contenu dans une géométrie.
ST_LargestEmptyCircle — Calcule le plus grand cercle ne recouvrant pas une géométrie.
ST_MinimumBoundingCircle — Retourne le plus petit cercle polygonal qui contient une géométrie.
ST_MinimumBoundingRadius — Renvoie le point central et le rayon du plus petit cercle contenant une géométrie.
ST_OrientedEnvelope — Renvoie un rectangle de surface minimale contenant une géométrie.
ST_OffsetCurve — Renvoie une ligne décalée par rapport à une distance et un côté donnés à partir d'une ligne en entrée.
ST_PointOnSurface — Calcule un point dont on garantit qu'il se trouve dans un polygone ou sur une géométrie.
ST_Polygonize — Calcule une collection de polygones formés à partir du tracé d'un ensemble de géométries.
ST_ReducePrecision — Renvoie une géométrie valide dont les points sont arrondis en fonction de la tolérance de la grille.
ST_SharedPaths — Renvoie une collection contenant les chemins partagés par les deux lignes/multilignes en entrée.
ST_Simplify — Renvoie une version simplifiée d'une géométrie, en utilisant l'algorithme de Douglas-Peucker.
ST_SimplifyPreserveTopology — Renvoie une version simplifiée et valide d'une géométrie, en utilisant l'algorithme de Douglas-Peucker.
ST_SimplifyPolygonHull — Calcule une enveloppe extérieure ou intérieure simplifiée préservant la topologie d'une géométrie polygonale.
ST_SimplifyVW — Renvoie une version simplifiée d'une géométrie, en utilisant l'algorithme de Visvalingam-Whyatt
ST_SetEffectiveArea — Définit la surface effective de chaque sommet, en utilisant l'algorithme Visvalingam-Whyatt.
ST_TriangulatePolygon — Calcule la triangulation de Delaunay contrainte des polygones
ST_VoronoiLines — Renvoie les limites des polygones de Voronoï des sommets d'une géométrie.
ST_VoronoiPolygons — Renvoie les cellules de la représentation de Voronoï des sommets d'une géométrie.

7.15. Couvertures

Abstract

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.

ST_CoverageInvalidEdges — Fonction window qui trouve les endroits où les polygones ne forment pas une couverture valide.
ST_CoverageSimplify — Fonction window qui simplifie les bords d'une couverture polygonale.
ST_CoverageUnion — Calcule l'union d'un ensemble de polygones formant une couverture en supprimant les arêtes communes.

7.16. Transformations affines

Abstract

Ces fonctions modifient la position et la forme des géométries à l'aide de transformations affines.

ST_Affine — Appliquer une transformation affine 3D à une géométrie.
ST_Rotate — Fait pivoter une géométrie autour d'un point d'origine.
ST_RotateX — Fait pivoter une géométrie autour de l'axe X.
ST_RotateY — Fait pivoter une géométrie autour de l'axe Y.
ST_RotateZ — Fait pivoter une géométrie autour de l'axe Z.
ST_Scale — Met à l'échelle une géométrie en fonction de facteurs donnés.
ST_Translate — Traduit une géométrie en fonction de décalages donnés.
ST_TransScale — Traduit et met à l'échelle une géométrie en fonction des paramètres offset et factor spécifiés.

7.17. Fonctions de clustering

Abstract

Ces fonctions mettent en œuvre des algorithmes de regroupement pour des ensembles de géométries.

ST_ClusterDBSCAN — Fonction Window qui renvoie un identifiant de cluster pour chaque géométrie d'entrée en utilisant l'algorithme DBSCAN.
ST_ClusterIntersecting — Fonction d'agrégation qui regroupe les géométries en entrée en ensembles connectés.
ST_ClusterIntersectingWin — Fonction Window qui renvoie un identifiant de cluster pour chaque géométrie en entrée, en regroupant les géométries en entrée en ensembles connectés.
ST_ClusterKMeans — Fonction Window qui renvoie un identifiant de cluster pour chaque géométrie en entrée en utilisant l'algorithme K-means.
ST_ClusterWithin — Aggregate function that clusters geometries by separation distance.
ST_ClusterWithinWin — Fonction Window qui renvoie un identifiant de cluster pour chaque géométrie en entrée, regroupement en utilisant la distance de séparation.

7.18. Fonctions des boîtes de délimitation

Abstract

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”.

Box2D — Renvoie une BOX2D représentant l'étendue 2D d'une géométrie.
Box3D — Renvoie une BOX3D représentant l'étendue 3D d'une géométrie.
ST_EstimatedExtent — Renvoie l'étendue estimée d'une table spatiale.
ST_Expand — Renvoie une boîte de délimitation développée à partir d'une autre boîte de délimitation ou d'une géométrie.
ST_Extent — Fonction agrégée qui renvoie la boîte de délimitation des géométries.
ST_3DExtent — Fonction d'agrégation qui renvoie la boîte de délimitation 3D des géométries.
ST_MakeBox2D — Crée un BOX2D défini par deux géométries de points 2D.
ST_3DMakeBox — Crée un BOX3D défini par deux géométries de points 3D.
ST_XMax — Retourne les maxima X d'une boîte de délimitation 2D ou 3D ou d'une géométrie.
ST_XMin — Retourne les minima X d'une boîte de délimitation 2D ou 3D ou d'une géométrie.
ST_YMax — Retourne les maxima Y d'une boîte de délimitation 2D ou 3D ou d'une géométrie.
ST_YMin — Retourne les minima Y d'une boîte de délimitation 2D ou 3D ou d'une géométrie.
ST_ZMax — Retourne les maxima Z d'une boîte de délimitation 2D ou 3D ou d'une géométrie.
ST_ZMin — Retourne les minima Z d'une boîte de délimitation 2D ou 3D ou d'une géométrie.

7.19. Référencement linéaire

ST_LineInterpolatePoint — Renvoie un point interpolé le long d'une ligne à un emplacement fractionnaire.
ST_3DLineInterpolatePoint — Renvoie un point interpolé le long d'une ligne 3D à un emplacement fractionnaire.
ST_LineInterpolatePoints — Renvoie des points interpolés le long d'une ligne à un intervalle fractionnaire.
ST_LineLocatePoint — Renvoie l'emplacement fractionnaire du point le plus proche d'un point sur une ligne.
ST_LineSubstring — Renvoie la partie d'une ligne située entre deux emplacements fractionnaires.
ST_LocateAlong — Renvoie le(s) point(s) d'une géométrie qui correspond(ent) à une valeur de mesure.
ST_LocateBetween — Renvoie les parties d'une géométrie qui correspondent à un intervalle de mesure.
ST_LocateBetweenElevations — Renvoie les parties d'une géométrie qui se trouvent dans un intervalle d'élévation (Z).
ST_InterpolatePoint — Renvoie la mesure interpolée d'une géométrie la plus proche d'un point.
ST_AddMeasure — Interpole les mesures le long d'une géométrie linéaire.

7.20. Fonctions de trajectoire

Abstract

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.

ST_IsValidTrajectory — Teste si la géométrie est une trajectoire valide.
ST_ClosestPointOfApproach — Renvoie une mesure au point d'approche le plus proche de deux trajectoires.
ST_DistanceCPA — Renvoie la distance entre le point d'approche le plus proche de deux trajectoires.
ST_CPAWithin — Teste si le point d'approche le plus proche de deux trajectoires se trouve dans la distance spécifiée.

7.21. Fonctions SFCGAL

Abstract

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.

postgis_sfcgal_version — Retourne la version de SFCGAL utilisée
postgis_sfcgal_full_version — Retourne la version complète de SFCGAL en cours d'utilisation, y compris les versions CGAL et Boost
ST_3DArea — Calcule la surface des géométries de surface 3D. Retourne 0 pour les solides.
ST_3DConvexHull — Calcule l'enveloppe convexe 3D d'une géométrie.
ST_3DIntersection — Réaliser une intersection 3D
ST_3DDifference — Effectuer une différence 3D
ST_3DUnion — Effectuer l'union 3D.
ST_AlphaShape — Calcul d'une forme Alpha entourant une géométrie
ST_ApproximateMedialAxis — Calculer l'axe médian approximatif d'une géométrie aréolaire.
ST_ConstrainedDelaunayTriangles — Renvoie une triangulation de Delaunay contrainte autour de la géométrie d'entrée donnée.
ST_Extrude — Extruder une surface vers un volume
ST_ForceLHR — Force l'orientation LHR d'un objet
ST_IsPlanar — Vérifie si une surface est planaire ou non
ST_IsSolid — Teste si la géométrie est un solide. Aucun contrôle de validité n'est effectué.
ST_MakeSolid — Transformer la géométrie dans un solide. Aucune vérification n'est effectuée. Pour obtenir un solide valide, la géométrie d'entrée doit être une surface polyédrique fermée ou un TIN fermé.
ST_MinkowskiSum — Effectue la somme de Minkowski
ST_OptimalAlphaShape — Calcule une forme alpha entourant une géométrie en utilisant une valeur alpha "optimale".
ST_Orientation — Détermine l'orientation d'une surface
ST_StraightSkeleton — Calcule un squelette (straight skeleton) à partir d'une géométrie
ST_Tesselate — Effectue la tessellation de la surface d'un polygone ou d'une surface polyédrique et renvoie un TIN ou une collection de TINS
ST_Volume — Calcule le volume d'un solide 3D. S'il est appliqué à des géométries de surface (même fermées), il renvoie 0.

7.22. Support des transactions longues

Abstract

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.

AddAuth — Ajoute un jeton d'autorisation à utiliser dans la transaction courante.
CheckAuth — Crée un déclencheur sur une table pour empêcher/autoriser les mises à jour (UPDATE) et les suppressions (DELETE) de lignes en se basant sur le jeton d'autorisation.
DisableLongTransactions — Désactive le support des transactions longues.
EnableLongTransactions — Active le support des transactions longues.
LockRow — Définit le verrouillage/autorisation pour une ligne dans une table.
UnlockRows — Supprime tous les verrous détenus par un jeton d'autorisation.
[Note]

Pour que le mécanisme de verrouillage fonctionne correctement, le sérialisable niveau d'isolation de la transaction doit être utilisé.

7.23. Fonctions de version

Abstract

Ces fonctions permettent de signaler et de mettre à jour les versions de PostGIS.

PostGIS_Extensions_Upgrade — Packages et mises à jour des extensions PostGIS (par exemple postgis_raster, postgis_topology, postgis_sfcgal) vers la version donnée ou la plus récente.
PostGIS_Full_Version — Donne des informations complètes sur la version de PostGIS et la configuration du packaging.
PostGIS_GEOS_Version — Renvoie le numéro de version de la librairie GEOS.
PostGIS_GEOS_Compiled_Version — Renvoie le numéro de version de la librairie GEOS avec laquelle PostGIS a été construit.
PostGIS_Liblwgeom_Version — Renvoie le numéro de version de la librairie liblwgeom. Cela devrait correspondre à la version de PostGIS.
PostGIS_LibXML_Version — Renvoie le numéro de version de la librairie libxml2.
PostGIS_Lib_Build_Date — Retourne la date de packaging de l'extension PostGIS.
PostGIS_Lib_Version — Retourne le numéro de version de l'extension PostGIS.
PostGIS_PROJ_Version — Renvoie le numéro de version de la librairie PROJ4.
PostGIS_Wagyu_Version — Renvoie le numéro de version de la librairie interne de Wagyu.
PostGIS_Scripts_Build_Date — Retourne la date de packaging des scripts PostGIS.
PostGIS_Scripts_Installed — Retourne la version des scripts PostGIS installés dans cette base de données.
PostGIS_Scripts_Released — Retourne le numéro de version du script postgis.sql publié avec la librairie PostGIS installée.
PostGIS_Version — Retourne le numéro de version de PostGIS et les options de compilation.

7.24. Variables PostGIS GUC (Grand Unified Custom Variables)

Abstract

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.

postgis.backend — Le backend qui sera utilisé par les fonctions lorsque GEOS et SFCGAL se recouvrent. Options : geos ou sfcgal. Valeur par défaut geos.
postgis.gdal_datapath — Une option de configuration pour régler la valeur de l'option GDAL_DATA de GDAL. Si elle n'est pas assignée, la valeur de la variable d'environnement GDAL_DATA est utilisée.
postgis.gdal_enabled_drivers — Option de configuration permettant de définir les drivers GDAL activés dans l'environnement PostGIS. Affecte la variable de configuration GDAL GDAL_SKIP.
postgis.enable_outdb_rasters — Une option de configuration booléenne pour permettre l'accès aux bandes matricielles de out-db.
postgis.gdal_vsi_options — Une chaîne de configuration pour définir les options utilisées lors de l'utilisation d'un raster out-db.

7.25. Fonctions de dépannage

Abstract

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.

PostGIS_AddBBox — Ajoute une bounding box à la géométrie.
PostGIS_DropBBox — Supprime le cache de la boîte de délimitation de la géométrie.
PostGIS_HasBBox — Renvoie TRUE si la bbox de cette géométrie est en cache, sinon FALSE.