Les fonctions listées ci-dessous font partie de celles qu'un utilisateur PostGIS utilise couramment. Il existe d'autres fonctions qui servent à la manipulation d'objets PostGIS mais qui ne sont d'aucune utilité à l'utilisateur Lambda.
Syntax : AddGeometryColumn(<nom_du_schema>, <nom_de_la_table>, <nom_de_la_colonne>, <srid>, <type>, <dimension>)
. Ajouter une colonne géométrique aux attributs d'une table existante. Le nom du schéma
est le nom du schéma de la table (inutilisé pour les installations de PostgreSQL ne supportant pas les schémas). Le SRID
doit être une valeur entière faisant référence à une entrée de la table spatial_ref_sys
. Le type
doit être une chaine de caractères en majuscule correspondant au type géométrique, par exemple, POLYGON
ou MULTILINESTRING
.
Syntax : DropGeometryColumn(<nom_du_schema>, <nom_de_la_table>, <nom_de_la_colonne>)
. Supprimer une colonne géométrique d'une table spatiale. Notez que le nom_du_schéma
devra correspondre au champ f_schema_name
du tuple correspondant dans la table geometry_columns
.
Attribut au SRID
sur une géométrie une valeur entière particulière. Utile pour construire des cadres limites pour des requêtes.
Renvoie la distance cartésienne entre deux géométries dans l'unité de projection.
(Effectué par le module GEOS) : retourne 1 (vrai) si les géométries passées en paramètres sont "spatialement égales". Utilisez ceci pour un meilleur résultat que l'opération '='. equals('LINESTRING(0 0, 10 10)','LINESTRING(0 0, 5 5, 10 10)') est vrai.
OGC SPEC s2.1.1.2
(Effectué par le module GEOS) : retourne 1 (vrai) si les géométries sont spatialement disjointes.
Ne pas appeler avec une GeometryCollection en argument.
NOTE : c'est la version "permissive" qui retourne un booléen, pas un entier.
OGC SPEC s2.1.1.2 //s2.1.13.3 - a.Relate(b, 'FF*FF****')
(Effectué par le module GEOS) : retourne 1 (vrai) si les géométries "s'intersectent spatialement"
Ne pas appeler avec une GeometryCollection en argument.
NOTE : c'est la version "permissive" qui retourne un booléen, pas un entier.
OGC SPEC s2.1.1.2 //s2.1.13.3 - Intersects(g1, g2 ) --> Not (Disjoint(g1, g2 ))
(Effectué par le module GEOS) : retourne 1 (vrai) si les géométries se "touchent spatialement".
Ne pas appeler avec une GeometryCollection en argument.
NOTE : c'est la version "permissive" qui retourne un booléen, pas un entier.
OGC SPEC s2.1.1.2 // s2.1.13.3- a.Touches(b) -> (I(a) intersection I(b) = {empty set} ) and (a intersection b) not empty
(Effectué par le module GEOS) : retourne 1 (vrai) si les géométries se "croisent spatialement".
Ne pas appeler avec une GeometryCollection en argument.
NOTE : c'est la version "permissive" qui retourne un booléen, pas un entier.
OGC SPEC s2.1.1.2 // s2.1.13.3 - a.Relate(b, 'T*T******')
(Effectué par le module GEOS) : retourne 1 (vrai) si la géométrie A est "spatialement inclue" dans la géométrie B.
Ne pas appeler avec une GeometryCollection en argument.
NOTE : c'est la version "permissive" qui retourne un booléen, pas un entier.
OGC SPEC s2.1.1.2 // s2.1.13.3 - a.Relate(b, 'T*F**F***')
(Effectué par le module GEOS) : retourne 1 (vrai) si les géométries se superposent spatialement.
Ne pas appeler avec une GeometryCollection en argument.
NOTE : c'est la version "permissive" qui retourne un booléen, pas un entier.
OGC SPEC s2.1.1.2 // s2.1.13.3
(Effectué par le module GEOS) : retourne 1 (vrai) si la géométrie A "contient spatialement" la géométrie B.
Ne pas appeler avec une GeometryCollection en argument.
NOTE : c'est la version "permissive" qui retourne un booléen, pas un entier.
OGC SPEC s2.1.1.2 // s2.1.13.3 - same as within(geometry B, geometry A)
(Effectué par le module GEOS) : retourne 1 (vrai) si cette géométries est spatialement reliée à une autre géométrie, en testant l'intersections entre l'intérieur, la limite et l'extérieur des deux géométries comme spécifié par les valeurs dans l'intersectionPatternMatrix.
Ne pas appeler avec une GeometryCollection en argument.
NOTE : c'est la version "permissive" qui retourne un booléen, pas un entier.
OGC SPEC s2.1.1.2 // s2.1.13.3
(Effectué par le module GEOS) : retourne la DE-9IM (la neuvième matrice d'intersection dimentionellement étendue)
Ne pas appeler avec une GeometryCollection en argument.
NOTE : c'est la version "permissive" qui retourne un booléen, pas un entier.
pas dans les specs de l'OGC, mais implémenté. voir s2.1.13.2
Renvoie le barycentre de l'entité géométrique sous forme de point. Le calcul sera plus précis si vous utilisez le module GEOS (mis en place au moment de la compilation).
Renvoie la superficie de l'entité géométrique s'il s'agit d'un polygone ou d'un multi-polygone.
Renvoie la longueur d'un segment dans son système de référencement courant. Synonyme de length2d()
.
OGC SPEC 2.1.5.1
Renvoie un point situé en surface.
Implémenté grâce à GEOS.
OGC SPEC 3.2.14.2 and 3.2.18.2 -
Renvoie le contour fermé du graphe de cet objet géométrique (geometry). Le graphe (combinatorial boundary) se définit comme décrit aux sections 3.12.3.2 des spécifications OGC. Comme le résultat de cette opération est un contour fermé, et par conséquent topologiquement fermé, le contour résultant peut se représenter au moyen des primitives géométriques décrites à la section 3.1.2.2. des spécifications OGC.
Exécuté par le module GEOS.
OGC SPEC s2.1.1.1
Renvoie un objet géométrique qui représente tous les points dont la distance à l'objet géométrique est inférieure ou égale à la distance fixée. Les calculs se font dans le système de référencement courant de cet objet géométrique. Le troisième paramètre optionnel fixe le nombre de segments à utiliser pour fournir une approximation du cercle quadratique (par défaut 8 ).
Exécuté par le module GEOS.
Ne l'appelez jamais avec une GeometryCollection en argument.
OGC SPEC s2.1.1.3
Renvoie un objet de type geometry
qui représente la partie convexe de la géométrie passée en argument.
Exécuté par le module GEOS.
OGC SPEC s2.1.1.3
Renvoie un objet géométrique qui représente l'ensemble d'intersection des objets géométriques désignés.
Exécuté par le module GEOS.
Ne l'appelez jamais avec une GeometryCollection en argument
OGC SPEC s2.1.1.3
Renvoie un objet géométrique qui représente l'ensemble d'exclusion de l'objet géométrique A avec l'objet géométrique B.
Ne l'appelez jamais avec une GeometryCollection en argument.
OGC SPEC s2.1.1.3
Renvoie un objet géométrique qui représente l'ensemble de différence entre l'objet géométrique A et l'objet géométrique B.
Exécuté par le module GEOS.
Ne l'appelez jamais avec une GeometryCollection en argument.
OGC SPEC s2.1.1.3
Renvoie un objet géométrique qui représente l'ensemble d'union des objets géométriques désignés.
Exécuté par le module GEOS.
Ne l'appelez jamais avec une GeometryCollection en argument.
NOTE : initialement nommé "union", cette fonction a été renommé GeomUnion car Union est un mot-clef SQL.
OGC SPEC s2.1.1.3
Renvoie un objet géométrique qui représente l'union de l'ensemble des objets géométriques pour un ensemble donné.
Exécuté par le module GEOS.
Ne l'appelez jamais avec une GeometryCollection en argument.
Non défini de façon explicite dans les OGC SPEC
Identique à la fonction ci-dessus, mais travaille en utilisant moins de mémoire et plus de temps de calcul du processeur.
Renvoie la représentation textuelle de l'objet géométrique. Par exemple : POLYGON(0 0,0 1,1 1,1 0,0 0)
OGC SPEC s2.1.1.1
Renvoie la géométrie au format binaire de l'OGC, en utilisant l'encodage endian (small endian/big endian) du serveur sur lequel la base de données tourne. C'est utile dans le cas de parseurs binaires, pour extraire des données de la base sans avoir à les convertir en chaines de caractères.
OGC SPEC s2.1.1.1 - voir aussi asBinary(
et asBinary(
Renvoie l'entier SRID
du système de référence spatial de l'objet géométrique.
OGC SPEC s2.1.1.1
La dimension propre à l'objet géométrique, qui doit être inférieure ou égale à la dimension de ses coordonnées. OGC SPEC s2.1.1.1 - renvoie 0 pour des points, 1 pour des lignes, 2 pour des polygones, et la plus grande dimension trouvée parmi les composants d'une GEOMETRYCOLLECTION.
Renvoie un POLYGON
représentant le cadre limite de l'objet géométrique.
OGC SPEC s2.1.1.1 - Le cadre limite minimale de cet objet géométrique, retournée sous forme de géométrie. Le polygone est défini par les angles du cadre limite ((MINX, MINY), (MAXX, MINY), (MAXX, MAXY), (MINX, MAXY), (MINX, MINY)).
NOTE : PostGIS ajoutera des coordonnées Zmin/Zmax aussi.
Renvoie vrai si la géométrie est vide. Si c'est vrai, Geometry représente alors l'ensemble vide - i.e. GEOMETRYCOLLECTION(EMPTY).
OGC SPEC s2.1.1.1
Renvoie vrai si l'objet geometry
ne comporte pas d'anomalies, telle qu'une auto-intersection ou une auto-tangence de l'objet.
Exécuté par le module GEOS
OGC SPEC s2.1.1.1
Renvoie vrai si les points de départ et d'arrivée de l'objet géométrique coïncident.
Renvoie vrai si le contour est fermé (StartPoint ( ) = EndPoint ( )
) et si le contour est simple (ne passe pas plus d'une fois par le même point).
Exécuté par le module GEOS
OGC spec 2.1.5.1
Si la géométrie est une GEOMETRYCOLLECTION
(or MULTI*
) renvoie le nombre d'objets géométriques, autrement renvoie NULL
.
Renvoie le nième objet géométrique si la géométrie est une GEOMETRYCOLLECTION
, MULTIPOINT
, MULTILINESTRING
ou MULTIPOLYGON
.
Sinon, renvoie NULL
.
Note : l'index débute à 1conformément aux spécifications OGC depuis la version 0.8.0. Les versions antérieures débutaient à 0.
Trouve et renvoie le nombre de points de la première ligne géométrique. Renvoie NULL
s'il n'y a pas de ligne dans la géométrie.
Renvoie le nième point de la première ligne de la géométrie. Renvoie NULL
s'il n'y a pas de ligne dans la géométrie.
Note : l'index débute à 1 conformément aux spécifications OGC depuis la version 0.8.0. Les versions antérieures débutaient à 0.
Renvoie le pourtour extérieur de la géométrie d'un polygone. Retourne NULL
si l'objet n'est pas un polygone.
Retourne le nombre de pourtours intérieurs du premier polygone de la géométrie. Renvoie NULL
s'il n'y a aucun polygone dans la géométrie.
Équivalent à NumInteriorRings(geometry)
. Les spécifications OpenGIS donnent les deux appellations sans lever l'ambiguïté sur le nom réel de la fonction, nous fournissons par conséquent les deux appellations.
Renvoie le nième pourtour intérieur de la géométrie du polygone. Renvoie NULL
si la géométrie n'est pas un polygone, ou si la valeur N
ne se trouve pas dans l'intervalle considéré.
Note : l'index débute à 1conformément aux spécifications OGC depuis la version 0.8.0. Les versions antérieures débutaient à 0.
Renvoie le dernier point d'une ligne géométrique en tant que point.
Renvoie le premier point d'une ligne géométrique en tant que point.
Renvoie le type géométrique sous forme de chaine. Par exemple : LINESTRING
, POLYGON
, MULTIPOINT
, etc.
OGC SPEC s2.1.1.1 - Renvoie le nom du sous-type géométrique instanciable dont la géométrie fait partie. Le nom du sous-type géométrique instanciable est renvoyé sous forme de chaine.
Renvoie la coordonnée X
du point. L'objet en entrée doit être un point.
Renvoie la coordonnée Y
du point. L'objet en entrée doit être un point.
Renvoie la coordonnée Z
du point, ou NULL
si la valeur n'est pas disponible. L'objet en entrée doit être un point.
Renvoie la coordonnée M
du point, ou NULL
si la valeur n'est pas disponible. L'objet en entrée doit être un point.
Note : cela ne fait pas (encore) partie des spécifications OGC, mais on les donne ici afin de compléter la liste de fonctions d'extraction de coordonnées ponctuelles.
POINT
.LINE
.LINE
.POLYGON
.MULTIPOINT
.MULTILINESTRING
.MULTIPOLYGON
.GEOMETRYCOLLECTION
.POINT
.LINESTRING
.LINESTRING
.POLYGON
.POLYGON
.MULTIPOINT
.MULTILINESTRING
.MULTIPOLYGON
.GEOMETRYCOLLECTION
.MULTILINESTRING
. Retourne une erreur si la sortie est un MULTIPOLYGON
; utilisez BdMPolyFromText dans ce cas, ou voyez BuildArea() pour une approche spécifique à PostGIS.MULTILINESTRING
. Forcez la sortie en MULTIPOLYGON même si le résultat ne comportte qu'un seul POLYGON
; utilisez BdPolyFromText si vous êtes sûr qu'un seul POLYGON
sortira de l'opération, ou voyez BuildArea() pour une approche spécifique à PostGIS.geometry_columns
.current_schema()
pour des installations de PostgreSQL supportant les schémas si le schéma n'est spécifié.
current_schema()
sur des installations PostgreSQL supportant les schémas si le schéma n'est pas spécifié.
VACUUM ANALYZE [nom_de_la_table] [nom_de_colonne]
pour compléter le processus de rapatriement des statistiques.VACUUM ANALYZE
.
postgis_scripts_released()
cela signifie que vous avez sans doute oublié de mettre à jour convenablement vos bases de données existantes. Rapportez vous à la section "Mise à jour" du présent manuel pour de plus amples informations.
postgis_lib_version()
. Conservé pour des raisons de compatibilité arrière.
SPHEROID[<NAME>,<SEMI-MAJOR AXIS>,<INVERSE FLATTENING>]Par exemple :
SPHEROID["GRS_1980",6378137,298.257222101]Voici un exemple de calcul :
bytea
, en utilisant l'encodage little-endian (NDR) ou big-endian (XDR). C'est utile avec les curseurs binaires pour extraire de la base des données sans avoir à les convertir en chaine de caractères. text
).bytea
) en utilisant soit l'encodage little-endian (NDR) soit big-endian (XDR). text
) en utilisant soit l'encodage little-endian (NDR) soit big-endian (XDR). Construit une géométrie à partir de EWKT.
Construit une géométrie à partir de EWKB.
Construit une géométrie de points 2d,3dz ou 4d.
Construit une géométrie de points 3dm.
Construit une BOX2D définie par la géométrie de points 2D.
Construit une BOX3D définie par la géométrie de points 2D.
Construit une Linestring à partir d'un ensemble de points géométriques. Vous aurez probablement besoin d'utiliser un sous-ensemble pour les ordonner avant de les traiter au moyen de cette fonction.
Construit une Linestring à partir de deux points géométriques donnés.
Construit une LineString à partir d'une géométrie MultiPoint.
Construit un Polygon formé de l'enveloppe donnée et d'une liste de trous. Vous pouvez construire cette liste en utilisant Accum. Les objets géométriques choisis doivent être des contours LINESTRINGS fermés (voir IsClosed et GeometryType).
Construit une géométrie surfacique formée par le contour d'un objet géométrique donné. Le type renvoyé peut être un Polygon ou un Multipolygon, tout dépend de l'objet géométrique en entrée. Si l'objet en entrée ne forme pas un polygone, la fonction renvoie NULL.
Voir aussi BdPolyFromText et BdMPolyFromText - interface de cette fonction aux stantards OGC.
Disponibilité : 1.1.0 - requiert GEOS >= 2.1.0.
Agrégat. Construit une GeometryCollection contenant des polygones potentiels formés à partir des contours d'un ensemble d'objets géométriques.
Disponibilité : 1.0.0RC1 - requiert GEOS >= 2.1.0.
Cette fonction renvoie une GEOMETRYCOLLECTION ou un objet MULTI à partir d'un ensemble d'objets géométriques. La fonction collect() est une fonction "aggrégative" dans la terminologie de PostgreSQL. Cela signifie qu'elle opère sur des listes de données, de la même façon que les fonctions sum() et mean(). Par exemple, "SELECT COLLECT(GEOM) FROM GEOMTABLE GROUP BY ATTRCOLUMN" va renvoyer une GEOMETRYCOLLECTION séparée pour chaque valeur distincte de ATTRCOLUMN.
Cette fonction renvoie une géométrie qui est la collection de deux géométries en entrée. Le type en sortie peut être un MULTI* ou une GEOMETRYCOLLECTION.
Il s'agit d'une fonction retournant un ensemble (SRF). Elle renvoie un ensemble de lignes de geometry_dump, formée par une géométrie (geom) et un tableau d'entier (path). Quand la géométrie en entrée est un type simple (POINT,LINESTRING,POLYGON), on obtiendra en sortie un seul enregistrement avec un tableau vide et la géométrie donnée en entrée comme geom. Quand la géométrie en entrée est une collection ou multi, on obtiendra un enregistrement pour chacun des composants de la collection, et le chemin indiquera la position de chaque composant à l'intérieur de la collection.
NOTE : cette fonction n'est pas accessible en compilant avec PostgreSQL 7.2.x
Ajoute le cadre limite à une géométrie. Cela devrait rendre les requêtes basées sur le cadre limite plus rapide, mais cela augmentera la taille de la géométrie.
Supprimer le cache du cadre limite de la géométrie. Cela réduit la taille de la géométrie, mais rend les requêtes basées sur le cadre limite plus lentes.
Ajoute un point à une LINESTRING
avant le point <position> (index d'origine 0). Le troisième paramètre peut être omis ou prendre la valeur -1 si vous souhaitez ajouter le point à la fin.
Supprime un point d'une LINESTRING
. Le décalage commence à 0.
Disponibilité : 1.1.0
Remplace le point N de la LINESTRING par le point passé en argument. L'index à pour origine 0.
Disponibilité : 1.1.0
Convertie une géométrie en une GEOMETRYCOLLECTION. Cela est utile pour simplifier la représentation en WKB.
Passe une géométrie dans le mode 2d, toutes les géométries auront donc uniquement les coordonnées X et Y. Cela est utile pour forcer la compatibilité avec l'OGC (pouisuqe l'OCG ne spécifie que des géométries 2d).
Passe un géométrie dans le mode XYZ.
Passe une géométrie dans le mode XYM.
Passe un géométrie dans le mode XYZM.
Renvoi la géométrie comme une géométrie multiple (MULTI*). Si la géométrie est déjà une MULTI*, elle est renvoyée inchangée.
Renvoi une nouvelle géométrie dont les coordonnées sont transformées à l'aide du SRID représenté par le paramètre entier. Le SRID de destination doit exister dans la table SPATIAL_REF_SYS
.
Effectue la translation d'une géométrie vers une nouvelle position en utilisant les paramètres numériques comme vecteur de translation. Par exemple : translate(geom, X, Y, Z).
Effectue une homothétie de la géométrie en multipliant les coordonnées par les paramètres. Par exemple : scale(geom, facteurX, facteurY, facteurZ).
Disponibilité : 1.1.0
Commence par effectuer une translation de la géométrie en utilisant les deux flottants, puis effectue l'homothétie en utilisant les deux paramètres suivant, fonctionne uniquement dans le mode 2d. Utiliser transcale(geom, X, Y, facteurX, facteurY) est un raccourci efficace pour scale(translate(geom,X,Y,0),facteurX,facteurY,1).
Disponibilité : 1.1.0
Renvoit la géométrie avec les sommets en ordre inverse.
Force une collection de polygones à abéïr à la règle de la main droite.
Renvoi un version "simplifiée" de la géométrie passée en argument en utilisant l'algorithme Douglas-Peuker. Cela n'effectue actuellement une simplification que pour des (MULTI)LINES et des (MULTI)POLYGONS mais vous pouvez l'utiliser sans risque avec tout type de géométries. Puisque les simplifications se font objet par objet, vous pouvez aussi passé en argument une GEOMETRYCOLLECTION à cette fonction. Notez que la géométrie retournée peut avoir perdu sa simplicité (voir IsSimple).
The returned geometry might loose its simplicity (see IsSimple).
Note
Before release 1.1.0 this function always returned a 2d geometry. Starting at 1.1.0 the returned geometry will have same dimensionality as the input one with higher dimension values untouched. Use the version taking a second geometry argument to define all grid dimensions.
Availability: 1.0.0RC1
Availability: 1.1.0
Renvoit un (ensemble d') objet(s) de type linestring
composé(s) des lignes contigües inclues dans l'objet de type geometry
passé en paramètre.
ndrpf: si le résultat est un ensemble, ce dernier semble être ordonné suivant la valeur minimal des coordonnées des points startpoint
et endpoint
(à vérifier).
Disponibilité : 1.1.0 - nécessite GEOS >= 2.1.0
Exemple concrêt : (ndrpf)
Cas d'un ensemble de linestring
contigües :
Cas d'un ensemble de linestring
non contigües :
Retourne un point interpolé le long d'une ligne. Le premier argument doit être une LINESTRING
. Le second argument est un flotant (float8
) dont la valeur est comprise entre 0 et 1 et qui représente une fraction de la longuer 2d totale où le point doit être localisé.
Voir la fonction line_locate_point()
pour localiser l'endroit le plus prêt d'un point sur une ligne.
Note : depuis la version 1.1.1 cette fonction interpole aussi les valeurs M et Z (lorsqu'elles sont présentes), tandis que les versions précédantes leur attribut la valeur 0.0.
Disponibilité : 0.8.2
Retourne une ligne étant une sous partie de celle passée en argument commençant et terminant aux fractions de la longueur totale passées en argument. Le second et le troisième argument sont des flotants (float8) dont la valeur est comprise entre 0 et 1.
Si les valeurs de debut
et fin
sont identiques cette fonction est alors équivalente à line_interpolate_point().
Voir line_locate_point()
pour localiser l'endroit le plus prêt d'un point sur une ligne.
Note : depuis la version 1.1.1 cette fonction interpole aussi les valeurs M et Z (lorsqu'elles sont présentes), tandis que les versions précédantes leur attribut des valeurs non spécifiées.
Disponibilité : 1.1.0
Retourne un flotant compris entre 0 et 1 représentant la position du point sur une LINESTRING
le plus proche du point donné, sous la forme d'une fraction de la longuer 2d totale.
Vous pouvez utiliser la position retournée pour extraire un POINT
(avec line_interpolate_point
) ou la sous partie d'une ligne (line_substring
).
Disponibilité : 1.1.0
Renvoie un ensemble d'éléments géométriques dont les éléments respecte la mesure spécifiée. Les éléments de type POLYGON
ne sont pas supportés.
La sémantique est spécifiée par : ISO/IEC CD 13249-3:200x(E) - Text for Continuation CD Editing Meeting
Availability: 1.1.0
Retourne un ensemble de valeurs géométriques dont les éléments sont inclues dans l'intervale de valeurs spécifié. Les éléments de type POLYGON
ne sont pas supportés.
La sémantique est spécifiée par : ISO/IEC CD 13249-3:200x(E) - Text for Continuation CD Editing Meeting
Availability: 1.1.0
Renvoie un résumé textuel du contenu géométrique.
Renvoie une BOX2D représentant le cadre limite de l'objet géométrique.
Renvoie une BOX3D représentant le cadre limite de l'objet géométrique.
La fonction extent()
est une fonction d'agrégation, selon la terminologie de PostgreSQL. Cela signifie qu'elle opère sur des ensembles de données, à la manière des fonctions sum()
et mean()
. Par exemple, "SELECT EXTENT(GEOM) FROM GEOMTABLE"
renverra une boîte BOX3D
qui correspond au cadre limite de tout les objets géométriques contenus dans la table. De la même façon, "SELECT EXTENT(GEOM) FROM GEOMTABLE GROUP BY CATEGORY"
renverra un résultat d'emprise pour chacune des catégories.
Renvoie le drapeau ZM (dimension(s) de la géométrie) des objets géométriques sous forme de small int. Il peut prendre les valeurs : 0=2d, 1=3dm, 2=3dz, 3=4d.
Renvoie vrai si le cadre limite de l'objet géométrique est en cache, et faux sinon. Utilisez addBBOX()
et dropBBOX()
pour contrôler la mise en cache.
Renvoie le nombre de dimensions de l'objet géométrique sous forme de small int
. Il peut prendre les valeurs 2,3 ou 4.
Si l'objet géométrique est un polygon ou un multi-polygon renvoie le nombre de rings.
Renvoie le nombre de points dans l'objet géométrique.
Renvoie vrai si l'objet géométrique est valide.
Cette fonction renvoie un cadre limite étendue dans chacune des directions à partir du cadre limite de l'objet géométrique en entrée, en fonction d'une variable spécifiée en second argument. Très utile pour les requêtes de distance()
, pour ajouter un filtre d'index à la requête.
Renvoie l'emprise 'estimé' de la table spatiale désignée. L'estimation provient des statistiques du champ de géométrie. Le schéma courant sera utilisé si rien d'autre n'est précisé.
Pour PostgreSQL>=8.0.0, les statistiques sont rassemblées par VACUUM ANALYZE et l'emprise résultante représentera à peu près 95% de l'emprise réelle.
Pour PostgreSQL< 8.0.0, les statistiques sont rassemblées par update_geometry_stats()
et l'emprise résultante sera exacte.
La syntaxe est find_srid(<db/schema>, <table>, <column>) et la fonction renvoie l'entier SRID du champ spécifié en cherchant dans la table geometry_columns
. Si le champ géométrie n'a pas été ajouté à l'aide la fonction adéquate AddGeometryColumns()
, cette fonction ne marchera pas non plus.
Renvoie la quantité d'espace disque (en bytes) qu'occupe l'objet géométrique.
Renvoie le nombre d'objet stockés dans la géométrie. C'est spécialement utile pour les MULTI-géométries et les GEOMETRYCOLLECTIONs.
La syntaxe de cette fonction est point_inside_circle(<geometry>,<circle_center_x>,<circle_center_y>,<radius>)
. Renvoie vrai si l'objet géométrique est un point et se trouve à l'intérieur d'un cercle. Sinon renvoie faux.
Renvoie le minima spécifié d'une bounding box.
Renvoie le maxima spécifié d'une bounding box.
Agrégat. Construit un tableau d'objets géométriques.
Ce module et les fonctions pl/pgsql associées (définies dans le fichier lwgeom/long_xact.sql.in
du répertoire des sources de PostGIS) ont été implémentés afin de fournir le support pour de longs vérouillages requis par les spécifications Web Feature Service (page 34 du document).
Note : les utilisateurs doivent utiliser le mode d'isolation serializable
sans quoi le méchanisme de vérouillage devrait ne pas fonctionner.
Active le support des transactions longues. Cette fonction crée les tables de métadonnées nécessaires, elle a besoin d'être appeler une seule fois avant l'utilisation de l'une des autres fonctions décrites dans cette partie. L'appeler une deuxième fois serait inutile.
Disponibilité : 1.1.3
Désactive le support des transactions longues. Cette fonctione supprime les tables de métadonnées du support des transactions longues, et enlève tout les triggers utilisés par les tables de vérification du vérouillage.
Disponibilité : 1.1.3
Vérifie si les mises à jour et les suppressions des lignes de la table spécifiée sont possibles (autorisables). Identifie les lignes en utilisant la colonne : <rowid_col>.
Disponibilité : 1.1.3
Attribut le verroux/l'autorisation pour une ligne spécific dans la table.
<authid> est une chaîne de charactère.
<expires> est une durée (de type timestamp
) dont la valeur par défaut est : now()+1heure
.
Renvoit 1 si le verroux a pu être assigné, 0 sinon (déjà verrouillé par un autre processus).
Disponibilité : 1.1.3
Supprime tout les verroux rattachés à l'identifiant d'autorisation spécifié. Renvoit le nombre de verroux relachés.
Disponibilité : 1.1.3
Ajoute un marqueur d'autorisation à utiliser dans la transaction courrante.
Disponibilité : 1.1.3
Voici une liste des fonctions SQL-MM que PostGIS supporte. L'implémentation de ces fonctions est calquée sur celle d'ArcSDE, certaines parties, qui seront explicitées ici, varient donc des spécifications.
Avec la version 1.2.0, ces fonctions ont été implémentées par encapsulation des fonctions existantes de PostGIS. Ce qui à pour résultat, que certaines fonctionalités des objets géométriques de type courbes ne soient pas disponibles.
SQL-MM définie le SRID
par défaut à 1 pour les contructeurs d'entité géométriques. PostGIS utilise quand à lui la valeur -1.
Revoie l'aire d'une ST_Surface
ou ST_MultiSurface
.
SQL-MM 3: 8.1.2, 9.5.3
Renvoie la représentation binaire d'une ST_Geometry
.
SQL-MM 3: 5.1.37
Renvoie la représentation textuelle d'une ST_Geometry
.
SQL-MM 3: 5.1.25
Return the boundary of the ST_Geometry value.
SQL-MM 3: 5.1.14
Renvoie l'ensemble des points dans l'espace autour d'une ST_Geometry
.
SQL-MM 3: 5.1.17
Renvoie le barycentre d'une ST_Surface
ou ST_MultiSurface
.
SQL-MM 3: 8.1.4, 9.5.5
Test si une ST_Geometry
en contient spatialement une autre.
SQL-MM 3: 5.1.31
Renvoie l'enveloppe convexe d'une typeST_Geometry
.
SQL-MM 3: 5.1.16
Renvoie la dimension des coordonnées d'une ST_Geometry
.
SQL-MM 3: 5.1.3
Test si deux ST_Geometry
se croisent spatialement.
SQL-MM 3: 5.1.29
Renvoie un objet de type ST_Geometry
qui représente l'ensemble des points différents de deux objets de type ST_Geometry
.
SQL-MM 3: 5.1.20
Renvoie la dimension d'un objet de type ST_Geometry
.
SQL-MM 3: 5.1.2
Test si un objet de type ST_Geometry
est spatialement disjoint
d'un autre ST_Geometry
.
SQL-MM 3: 5.1.26
Renvoie la distance entre deux entités géométriques.
SQL-MM 3: 5.1.23
Renvoie un objet de type ST_Point
qui est le point final d'une entité de type ST_Curve
.
SQL-MM 3: 7.1.4
Renvoie le rectangle englobant une entité de type ST_Geometry
.
SQL-MM 3: 5.1.15
Test si deux valeurs de type ST_Geometry
sont spatialement égales.
SQL-MM 3: 5.1.24
Renvoie l'anneau extérieur d'une ST_Surface
.
SQL-MM 3: 8.2.3, 8.3.3
Renvoie la valeur de type ST_GeomCollection
.
SQL-MM 3: 9.1.5
Renvoie le type d'une ST_Geometry
.
SQL-MM 3: 5.1.4
Renvoie une ST_Geometry
à partir de sa représentation textuelle.
SQL-MM 3: 5.1.40
Renvoie une ST_Geometry
à partir de sa représentation binaire.
SQL-MM 3: 5.1.41
Renvoie l'anneau intérieur d'une entité géométrique de type ST_Surface
.
SQL-MM 3: 8.2.6, 8.3.5
Renvoie un objet de type ST_Geometry
représentant l'ensemble des points d'intersection de deux objets de types ST_Geometry
.
SQL-MM 3: 5.1.18
Test si une valeur de type ST_Geometry
intersecte spatialement un autre objet de type ST_Geometry
.
SQL-MM 3: 5.1.27
Test si un objet de type ST_Curve
or ST_MultiCurve
est fermé.
SQL-MM spécifie que le résultat de ST_IsClosed(NULL)
doit être 0, alors que PostGIS renvoie NULL.
SQL-MM 3: 7.1.5, 9.3.3
Test si une entité de type ST_Geometry
correspond à l'ensemble vide.
SQL-MM spécifie que le résultat de ST_IsEmpty(NULL)
doit être 0, alors que PostGIS renvoie la valeur NULL
.
SQL-MM 3: 5.1.7
Test si une entité de type ST_Curve
est un anneau.
SQL-MM spécifie que le résultat de ST_IsRing(NULL)
doit être 0, alors ue PostGIS renvoie la valeur NULL
.
SQL-MM 3: 7.1.6
Test si une entité de type ST_Geometry
ne contient pas d'anomalies géométriques, comme par exemple l'auto-intersection ou l'auto-tangent.
SQL-MM spécifie que le résultat de ST_IsSimple(NULL)
doit être 0, alors que PostGIS renvoie la valeur NULL
dans ce cas.
SQL-MM 3: 5.1.8
Test si une entité de type ST_Geometry
est bien formée.
SQL-MM spécifie que le résultat de ST_IsValid(NULL)
doit être 0, alors que PostGIS renvoie la valeur NULL
dans ce cas.
SQL-MM 3: 5.1.9
Renvoie la longuer d'une ST_Curve
ou ST_MultiCurve
.
SQL-MM 3: 7.1.2, 9.3.4
Renvoie une ST_LineString
à parti de sa représentation textuelle.
SQL-MM 3: 7.2.8
Renvoie une ST_LineString
à parti de sa représentation binaire.
SQL-MM 3: 7.2.9
Renvoie un ST_MultiLineString
à parti de sa représentation textuelle.
SQL-MM 3: 9.4.4
Renvoie un ST_MultiLineString
à parti de sa représentation binaire.
SQL-MM 3: 9.4.5
Renvoie un ST_MultiPoint
à parti de sa représentation textuelle.
SQL-MM 3: 9.2.4
Renvoie un ST_MultiPoint
à parti de sa représentation binaire.
SQL-MM 3: 9.2.5
Renvoie un ST_MultiPolygon
à parti de sa représentation textuelle.
SQL-MM 3: 9.6.4
Return a specified ST_MultiPolygon
à parti de sa représentation binaire.
SQL-MM 3: 9.6.5
Renvoie le nombre l'éléments dans ST_GeomCollection
.
SQL-MM 3: 9.1.4
Return the number of interior rings in an ST_Surface.
SQL-MM 3: 8.2.5
Return the number of points in an ST_LineString or
ST_CircularString value.
SQL-MM 3: 7.2.4
ST_OrderingEquals
compare deux entités géométriques et renvoie t (vraie) si les entités géométriques sont égales et que les coordonées sont dans le même ordre, sinon revoie f (faux).
Cette fonction est implémentée comme dans l'api SQL d'ArcSDE plutôt que comme spécifié par SQL-MM
.
SQL-MM 3: 5.1.43
Test si un objet de type ST_Geometry
en recouvre spatialement une autre.
SQL-MM 3: 5.1.32
Return the length measurement of the boundary of an
ST_Surface or ST_MultiRSurface value.
SQL-MM 3: 8.1.3, 9.5.4
Renvoie un objet de type ST_Point
à partir des coordonées passés en paramètre.
SQL-MM 3: 6.1.2
Renvoie un objet de type ST_Point
à partir de sa représentation textuelle.
SQL-MM 3: 6.1.8
Renvoie un objet de type ST_Point
à partir de sa représentation binaire.
SQL-MM 3: 6.1.9
Return the specified ST_Point value in an ST_LineString or
ST_CircularString
SQL-MM 3: 7.2.5, 7.3.5
Renvoie une valeur ST_Point garantie pour intersecter spatialement la valeur de ST_Surface ou de ST_MultiSurface.
SQL-MM 3: 8.1.5, 9.5.6
Renvoie un objet de type ST_Polygon
à partir de sa représentation textuelle.
SQL-MM 3: 8.3.6
Renvoie un objet de type ST_Polygon
à partir de sa représentation binaire.
SQL-MM 3: 8.3.7
Renvoie un polygone construit à partir de la polyligne définie SRID.
SQL-MM 3: 8.3.2
Test if an ST_Geometry value is spatially related to another
ST_Geometry value.
SQL-MM 3: 5.1.25
Renvoie l'identifiant du SRID d''une entité géométrique de type ST_Geometry
.
SQL-MM 3: 5.1.5
Renvoie un objet de type ST_Point
qui est le point de départ d'une entité géométrique de type ST_Curve
.
SQL-MM 3: 7.1.3
Renvoie un objet de type ST_Geometry
qui représente l'ensemble d'exclusion de deux entités géométriques de type ST_Geometry
value that represents the point set
symmetrcy difference of two ST_Geometry values.
SQL-MM 3: 5.1.21
Test si un entité géométrique de type ST_Geometry
en touche spatialement une autre.
SQL-MM 3: 5.1.28
Renvoie un objet de type ST_Geometry
value transformed to the specified
spatial reference system.
SQL-MM 3: 5.1.6
Renvoie un objet de type ST_Geometry
qui représente l'ensemble des points de l'union de deux entités géométriques de type ST_Geometry
.
SQL-MM 3: 5.1.19
Test si une entité gémétrique de type ST_Geometry
est contenue dans une autre.
SQL-MM 3: 5.1.30
Renvoie un objet de type ST_Geometry
à partir de sa représentation binaire.
SQL-MM 3: 5.1.36
Renvoie une entité géométrique de type ST_Geometry
à partir de sa représentation textuelle.
SQL-MM 3: 5.1.34
Renvoie la composante x des coordonées d'un ST_Point
.
SQL-MM 3: 6.1.3
Renvoie la composante y des coordonées d'un ST_Point
.
SQL-MM 3: 6.1.4
Des fonctions supplémentaires ont été ajoutées pour améliorer le support d'une interface de style ArcSDE.
Renvoie vrai si les emprises de deux objets géométriques s'intersectent, sinon, elle renvoie faux.
Test si une valeur géométrique a une composante z
.
Test si une valeur géométrique a une composante m
.
Renvoie un ensemble d'objet géométriques dont les éléments respectent la mesure spécifiée.
Renvoie un ensemble d'objet géométriques dont les éléments sont inclues dans l'intervalle de valeur spécifié.
Renvoie la composante m
d'une valeur de type ST_Point
Renvoie la composante z
d'une valeur géométrique de type ST_Point
.