ST_ MakePolygon - Amazon Redshift

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 type GEOMETRY. Le sous-type doit être LINESTRING. 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 type GEOMETRY. Le sous-type doit être MULTILINESTRING.

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))