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 einemGEOMETRY
-Typ ausgewertet wird. Der Subtyp muss seinLINESTRING
. Der Wert linestring muss geschlossen werden oder leer sein. - geom2
-
Ein Wert vom Datentyp
GEOMETRY
oder ein Ausdruck, der zu einemGEOMETRY
-Typ ausgewertet wird. Der Subtyp muss seinMULTILINESTRING
.
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))