Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
ST_ MakePolygon
ST_ MakePolygon possède deux variantes qui renvoient un polygone. L’une prend une géométrie unique et l’autre prend deux géométries.
L’entrée de la première variante est une linestring qui définit l’anneau externe du polygone en sortie.
L’entrée de la deuxième variante est une linestring et une multilinestring. Les deux sont vides ou fermées.
La limite de l’anneau extérieur du polygone en sortie est la linestring en entrée, et les limites des anneaux intérieurs du polygone sont les linestrings dans la multilinestring d’entrée. Si la linestring d’entrée est vide, un polygone vide est renvoyé. Les linestrings vides dans la multilinestring sont ignorées. L’identifiant du système de référence spatiale (SRID) de la géométrie résultante est le SRID commun des deux géométries d’entrée.
La dimension de la géométrie renvoyée est identique à celle des géométries en entrée. L’anneau extérieur et les anneaux intérieurs doivent avoir la même dimension.
Syntaxe
ST_MakePolygon(geom1)
ST_MakePolygon(geom1, geom2)
Arguments
- geom1
-
Valeur de type de données
GEOMETRY
ou expression qui est évaluée sur un typeGEOMETRY
. Le sous-type doit êtreLINESTRING
. La valeur linestring doit être fermée ou vide. - geom2
-
Valeur de type de données
GEOMETRY
ou expression qui est évaluée sur un typeGEOMETRY
. Le sous-type doit êtreMULTILINESTRING
.
Type de retour
GEOMETRY
du sous-type POLYGON
.
La valeur de l’identifiant de système de référence spatiale (SRID) de la géométrie renvoyée est égale au SRID des entrées.
Si geom1 ou geom2 est null, null est renvoyé.
Si geom1 n’est pas une linestring, une erreur est renvoyée.
Si geom2 n’est pas une multilinestring, une erreur est renvoyée.
Si geom1 n’est pas fermé, une erreur est renvoyée.
Si geom1 n’est pas un point unique ou n’est pas fermé, une erreur est renvoyée.
Si geom2 contient au moins une linestring qui a un point unique ou n’est pas fermée, une erreur est renvoyée.
Si geom1 et geom2 ont des valeurs SRID différentes, une erreur est renvoyée.
Si geom1 et geom2 ont des dimensions différentes, une erreur est renvoyée.
Exemples
Le code SQL suivant renvoie un polygone depuis une linestring d’entrée.
SELECT ST_AsText(ST_MakePolygon(ST_GeomFromText('LINESTRING(77.29 29.07,77.42 29.26,77.27 29.31,77.29 29.07)')));
st_astext
---------------
POLYGON((77.29 29.07,77.42 29.26,77.27 29.31,77.29 29.07))
Le code SQL suivant crée un polygone à partir d’une linestring fermée et d’un multilinestring fermée. La linestring est utilisée pour l’anneau extérieur du polygone. Les linestrings dans les multilinestrings sont utilisées pour les anneaux intérieurs du polygone.
SELECT ST_AsEWKT(ST_MakePolygon(ST_GeomFromText('LINESTRING(0 0,10 0,10 10,0 10,0 0)'), ST_GeomFromText('MULTILINESTRING((1 1,1 2,2 1,1 1),(3 3,3 4,4 3,3 3))')));
st_astext
----------------------------------
POLYGON((0 0,10 0,10 10,0 10,0 0),(1 1,1 2,2 1,1 1),(3 3,3 4,4 3,3 3))