ST_ MakePolygon - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

ST_ MakePolygon

ST_ MakePolygon hat zwei Varianten, die ein Polygon zurückgeben. Eine nimmt eine einzelne Geometrie an und eine andere nimmt zwei Geometrien an.

  • Die Eingabe der ersten Variante ist eine Linestring, der den äußeren Ring des Ausgabepolygons definiert.

  • Die Eingabe der zweiten Variante ist ein Linestring und ein Multilinestring. Beide sind leer oder geschlossen.

    Die Begrenzung des äußeren Rings des Ausgabepolygons ist der Eingabe-Linestring. Die Begrenzungen der inneren Ringe des Polygons sind die Linestrings im Eingabe-Multilinestring. Wenn die Eingabe-Linestring leer ist, wird ein leeres Polygon zurückgegeben. Leere Linestrings im Multilinestring werden ignoriert. Der SRID-Wert (Spatial Reference System Identifier) der resultierenden Geometrie ist der gemeinsame SRID-Wert der beiden Eingabegeometrien.

Die Dimension der zurückgegebenen Geometrie entspricht der der Eingabegeometrien. Der Außenring und die Innenringe müssen die gleiche Dimension haben.

Syntax

ST_MakePolygon(geom1)
ST_MakePolygon(geom1, geom2)

Argumente

geom1

Ein Wert vom Datentyp GEOMETRY oder ein Ausdruck, der zu einem GEOMETRY-Typ ausgewertet wird. Der Subtyp muss sein LINESTRING. Der Wert linestring muss geschlossen werden oder leer sein.

geom2

Ein Wert vom Datentyp GEOMETRY oder ein Ausdruck, der zu einem GEOMETRY-Typ ausgewertet wird. Der Subtyp muss sein MULTILINESTRING.

Rückgabetyp

GEOMETRY des Subtyps POLYGON.

Der SRID (Spatial Reference System Identifier) der zurückgegebenen Geometrie entspricht der SRID der Eingaben.

Wenn geom1 oder geom2 null ist, wird null zurückgegeben.

Wenn geom1 kein Linestring ist, wird ein Fehler zurückgegeben.

Wenn geom2 kein Multilinestring ist, wird ein Fehler zurückgegeben.

Wenn geom1 nicht geschlossen ist, wird ein Fehler zurückgegeben.

Wenn geom1 ein einzelner Punkt oder nicht geschlossen ist, wird ein Fehler zurückgegeben.

Wenn geom2 mindestens einen Linestring hat, der einen einzelnen Punkt hat oder nicht geschlossen ist, wird ein Fehler zurückgegeben.

Wenn geom1 und geom2 unterschiedliche SRID-Werte haben, wird ein Fehler zurückgegeben.

Wenn geom1 und geom2 unterschiedliche Dimensionen haben, wird ein Fehler zurückgegeben.

Beispiele

Das folgende SQL gibt ein Polygon aus einem Eingangs-Linestring zurück.

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

Die folgende SQL-Anweisung erstellt ein Polygon aus einem geschlossenen Linestring und einem geschlossenen Multilinestring. Der Linestring wird für den äußeren Ring des Polygons verwendet. Die Linestrings in den Multilinestrings werden für die Innenringe des Polygons verwendet.

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