Chapter 7. Référence PostGIS

Table of Contents

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_NumCurves — Renvoie le nombre de courbes composantes d'une CompoundCurve.
  • ST_CurveN — Renvoie la Nième courbe composante d'une CompoundCurve.
  • 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.
  • ST_HasZ — Vérifie si une géométrie possède une dimension Z.
  • ST_HasM — Vérifie si une géométrie a une dimension M (mesure).

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_ForceCollection — Convertir la géométrie en une GEOMETRYCOLLECTION.
  • ST_ForceCurve — Retransformation d'une géométrie dans son type de courbure, le cas échéant.
  • 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_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_LineExtend — Renvoie une ligne prolongée vers l'avant et vers l'arrière selon les distances spécifiées.
  • 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_Normalize — Renvoie la géométrie sous sa forme canonique.
  • ST_Project — Renvoie un point projeté à partir d'un point de départ en fonction d'une distance et d'un azimut.
  • 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_RemoveIrrelevantPointsForView — Removes points that are irrelevant for rendering a specific rectangluar view of a geometry.
  • ST_RemoveSmallParts — Removes small parts (polygon rings or linestrings) of a geometry.
  • 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 — Renvoyer une géométrie ou un élément au format 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 géométries A et B ou les boîtes englobantes

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 une géométrie se trouve entièrement à une distance d'une autre géométrie
  • 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 un multipoint de 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 représentation simplifiée d'une géométrie, en utilisant l'algorithme de Douglas-Peucker.
  • ST_SimplifyPreserveTopology — Renvoie une représentation 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 représentation 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 — Fonction agrégée qui regroupe les géométries en fonction de la distance de séparation.
  • 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 13.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 de version

Abstract

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

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

For more examples of usage refer to SQL SET and SQL ALTER SYSTEM

  • 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.23. 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.