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.
Zugriffsfunktionen
Mithilfe von Zugriffsfunktionen können Sie Werte der Typen varchar
, bigint
und double
von unterschiedlichen geometry
-Datentypen abrufen, wobei geometry
einer der von Athena unterstützten Geometrie-Datentypen ist: point
, line
, polygon
, multiline
und multipolygon
. Sie können beispielsweise einen Bereich eines polygon
-Geometrie-Datentyps, die maximalen und minimalen X- und Y-Werte für einen angegebenen Geometrie-Datentyp, die Länge einer line
oder die Anzahl der Punkte in einem angegebenen Geometrie-Datentyp abrufen.
geometry_invalid_reason(geometry)
Gibt in einem varchar-Datentyp den Grund zurück, warum die angegebene Geometrie ungültig oder nicht einfach ist. Wenn die angegebene Geometrie weder gültig noch einfach ist, wird der Grund zurückgegeben, warum sie ungültig ist. Wenn die angegebene Geometrie gültig und einfach ist, wird null zurückgegeben. Beispiel:
SELECT geometry_invalid_reason(ST_Point(-158.54, 61.56))
great_circle_distance(latitude1, longitude1, latitude2,
longitude2)
Gibt als Double die Großkreisentfernung zwischen zwei Punkten auf der Erdoberfläche in Kilometern zurück. Beispiel:
SELECT great_circle_distance(36.12, -86.67, 33.94, -118.40)
line_locate_point(lineString, point)
Gibt ein Double zwischen 0 und 1 zurück, das die Position des nächsten Punkts auf der angegebenen Linienfolge zum angegebenen Punkt als Bruchteil der gesamten 2d-Linienlänge darstellt.
Gibt null zurück, wenn die angegebene Zeilenzeichenfolge oder der angegebene Punkt leer oder null ist. Beispiel:
SELECT line_locate_point(ST_GeometryFromText('LINESTRING (0 0, 0 1)'), ST_Point(0, 0.2))
simplify_geometry(geometry, double)
Verwendet den amer-douglas-peucker R-Algorithmus
SELECT simplify_geometry(ST_GeometryFromText('POLYGON ((1 0, 2 1, 3 1, 3 1, 4 1, 1 0))'), 1.5)
ST_Area(geometry)
Übernimmt als Eingabe einen Geometrie-Datentyp und gibt einen Bereich vom Typ double
zurück. Beispiel:
SELECT ST_Area(ST_Polygon('polygon((1 1, 4 1, 4 4, 1 4))'))
ST_Centroid(geometry)
Nimmt als Eingabe einen Geometriedatentyp polygon
und gibt einen point
-Geometriedatentyp zurück, der die Mitte der Polygonhülle ist. Beispiele:
SELECT ST_Centroid(ST_GeometryFromText('polygon ((0 0, 3 6, 6 0, 0 0))'))
SELECT ST_AsText(ST_Centroid(ST_Envelope(ST_GeometryFromText('POINT (53 27)'))))
ST_ConvexHull(geometry)
Gibt einen Geometriedatentyp zurück, der die kleinste konvexe Geometrie ist, die alle Geometrien in der angegebenen Eingabe umschließt. Beispiel:
SELECT ST_ConvexHull(ST_Point(-158.54, 61.56))
ST_CoordDim(geometry)
Übernimmt als Eingabe einen der unterstützten Geometrie-Datentypen und gibt die Anzahl der Koordinatenkomponenten mit dem Typ tinyint
zurück. Beispiel:
SELECT ST_CoordDim(ST_Point(1.5,2.5))
ST_Dimension(geometry)
Übernimmt als Eingabe einen der unterstützten Geometrie-Datentypen und gibt die räumliche Dimension einer Geometrie mit dem Typ tinyint
zurück. Beispiel:
SELECT ST_Dimension(ST_Polygon('polygon((1 1, 4 1, 4 4, 1 4))'))
ST_Distance(geometry, geometry)
Gibt basierend auf der räumlichen Referenz ein Double zurück, das den zweidimensionalen minimalen kartesischen Abstand zwischen zwei Geometrien in projizierten Einheiten enthält. Ab Athena-Engine-Version 2 wird null zurückgegeben, wenn eine der Eingaben eine leere Geometrie ist. Beispiel:
SELECT ST_Distance(ST_Point(0.0,0.0), ST_Point(3.0,4.0))
ST_Distance(sphericalGeography, sphericalGeography)
Gibt als Double den Abstand zwischen zwei sphärischen Geographiepunkten in Metern zurück. Beispiel:
SELECT ST_Distance(to_spherical_geography(ST_Point(61.56, -86.67)),to_spherical_geography(ST_Point(61.56, -86.68)))
ST_EndPoint(geometry)
Gibt den letzten Punkt eines line
-Geometriedatentyps in einem point
-Geometriedatentyp zurück. Beispiel:
SELECT ST_EndPoint(ST_Line('linestring(0 2, 2 2)'))
ST_Geometries(geometry)
Gibt ein Array mit Geometrien in der angegebenen Sammlung zurück. Wenn es sich bei der angegebenen Geometrie nicht um eine Multi-Geometrie handelt, wird ein Array mit einem Element zurückgegeben. Gibt null zurück, wenn die angegebene Geometrie leer ist.
Bei einem gegebenen MultiLineString
-Objekt erstellt ST_Geometries
beispielsweise ein Array von LineString
-Objekten. Bei einem GeometryCollection
-Objekt gibt ST_Geometries
ein nicht abgeflachtes Array seiner Bestandteile zurück. Beispiel:
SELECT ST_Geometries(GEOMETRYCOLLECTION(MULTIPOINT(0 0, 1 1), GEOMETRYCOLLECTION(MULTILINESTRING((2 2, 3 3)))))
Ergebnis:
array[MULTIPOINT(0 0, 1 1),GEOMETRYCOLLECTION(MULTILINESTRING((2 2, 3 3)))]
ST_GeometryN(geometry, index)
Gibt als Geometriedatentyp das Geometrieelement an einem angegebenen ganzzahligen Index zurück. Indizes beginnen bei 1. Wenn die angegebene Geometrie eine Sammlung von Geometrien ist (z. B. ein GEOMETRYCOLLECTION
- oder MULTI*
-Objekt), wird die Geometrie am angegebenen Index zurückgegeben. Wenn der angegebene Index kleiner als 1 oder größer als die Gesamtzahl der Elemente in der Auflistung ist, wird null zurückgegeben. Um die Gesamtanzahl der Elemente zu ermitteln, verwenden Sie ST_NumGeometries. Singuläre Geometrien (z. B. POINT
, LINESTRING
, oder POLYGON
), werden als Sammlungen eines Elements behandelt. Leere Geometrien werden als leere Sammlungen behandelt. Beispiel:
SELECT ST_GeometryN(ST_Point(-158.54, 61.56),1)
ST_GeometryType(geometry)
Gibt den Typ der Geometrie als varchar zurück. Beispiel:
SELECT ST_GeometryType(ST_Point(-158.54, 61.56))
ST_InteriorRingN(geometry, index)
Gibt das innere Ringelement am angegebenen Index zurück (Indizes beginnen bei 1). Wenn der angegebene Index kleiner als 1 oder größer als die Gesamtanzahl der inneren Ringe in der angegebenen Geometrie ist, wird null zurückgegeben. Löst einen Fehler aus, wenn die angegebene Geometrie kein Polygon ist. Um die Gesamtanzahl der Elemente zu ermitteln, verwenden Sie ST_NumInteriorRing. Beispiel:
SELECT ST_InteriorRingN(st_polygon('polygon ((0 0, 1 0, 1 1, 0 1, 0 0))'),1)
ST_InteriorRings(geometry)
Gibt ein Geometrie-Array aller inneren Ringe zurück, die in der angegebenen Geometrie gefunden werden, oder ein leeres Array, wenn das Polygon keine inneren Ringe hat. Gibt null zurück, wenn die angegebene Geometrie leer ist. Wenn die angegebene Geometrie kein Polygon ist, wird ein Fehler ausgelöst. Beispiel:
SELECT ST_InteriorRings(st_polygon('polygon ((0 0, 1 0, 1 1, 0 1, 0 0))'))
ST_IsClosed(geometry)
Als Eingabe werden nur die Geometriedatentypen line
und multiline
verwendet. Gibt TRUE
(Typ boolean
) zurück, wenn und nur wenn die Linie geschlossen ist. Beispiel:
SELECT ST_IsClosed(ST_Line('linestring(0 2, 2 2)'))
ST_IsEmpty(geometry)
Als Eingabe werden nur die Geometriedatentypen line
und multiline
verwendet. Gibt TRUE
(Typ boolean
) zurück, wenn und nur wenn die angegebene Geometrie leer ist, d. h., wenn die line
- Anfangs- und Endwerte übereinstimmen. Beispiel:
SELECT ST_IsEmpty(ST_Point(1.5, 2.5))
ST_IsRing(geometry)
Gibt TRUE
(Typ boolean
) zurück, wenn und nur wenn der line
-Typ geschlossen und einfach ist. Beispiel:
SELECT ST_IsRing(ST_Line('linestring(0 2, 2 2)'))
ST_IsSimple(geometry)
Gibt true zurück, wenn die angegebene Geometrie keine anomalen geometrischen Punkte aufweist (z. B. Selbstschnittstellen oder Selbsttangentialität). Um festzustellen, warum die Geometrie nicht einfach ist, verwenden Sie geometry_invalid_reason(). Beispiel:
SELECT ST_IsSimple(ST_LineString(array[ST_Point(1,2), ST_Point(3,4)]))
ST_IsValid(geometry)
Gibt true zurück, wenn und nur wenn die angegebene Geometrie gut geformt ist. Um festzustellen, warum die Geometrie nicht gut geformt ist, verwenden Sie geometry_invalid_reason(). Beispiel:
SELECT ST_IsValid(ST_Point(61.56, -86.68))
ST_Length(geometry)
Gibt die Länge von line
mit dem Typ double
zurück. Beispiel:
SELECT ST_Length(ST_Line('linestring(0 2, 2 2)'))
ST_NumGeometries(geometry)
Gibt als Ganzzahl die Anzahl der Geometrien in der Sammlung zurück. Wenn die Geometrie eine Sammlung von Geometrien ist (z. B. ein GEOMETRYCOLLECTION
- oder MULTI*
-Objekt), wird die Anzahl der Geometrien zurückgegeben. Einzelne Geometrien geben 1 zurück; leere Geometrien geben 0 zurück. Eine leere Geometrie in einem GEOMETRYCOLLECTION
-Objekt zählt als eine Geometrie. Das folgende Beispiel wird beispielsweise zu 1 ausgewertet:
ST_NumGeometries(ST_GeometryFromText('GEOMETRYCOLLECTION(MULTIPOINT EMPTY)'))
ST_NumInteriorRing(geometry)
Gibt die Anzahl an inneren Ringen in der polygon
-Geometrie mit dem Typ bigint
zurück. Beispiel:
SELECT ST_NumInteriorRing(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0), (1 1, 1 5, 5 1, 1 1))'))
ST_NumPoints(geometry)
Gibt die Anzahl an Punkten in der Geometrie mit dem Typ bigint
zurück. Beispiel:
SELECT ST_NumPoints(ST_Point(1.5, 2.5))
ST_PointN(lineString,
index)
Gibt als Punktgeometrie-Datentyp den Scheitelpunkt der angegebenen Linienzeichenfolge am angegebenen ganzzahligen Index zurück. Indizes beginnen bei 1. Wenn der angegebene Index kleiner als 1 oder größer als die Gesamtzahl der Elemente in der Auflistung ist, gibt null zurück. Um die Gesamtanzahl der Elemente zu ermitteln, verwenden Sie ST_NumPoints. Beispiel:
SELECT ST_PointN(ST_LineString(array[ST_Point(1,2), ST_Point(3,4)]),1)
ST_Points(geometry)
Gibt ein Array von Punkten aus dem angegebenen Linien-Zeichenfolgen-Geometrieobjekt zurück. Beispiel:
SELECT ST_Points(ST_LineString(array[ST_Point(1,2), ST_Point(3,4)]))
ST_StartPoint(geometry)
Gibt den ersten Punkt eines line
-Geometriedatentyps in einem point
-Geometriedatentyp zurück. Beispiel:
SELECT ST_StartPoint(ST_Line('linestring(0 2, 2 2)'))
ST_X(point)
Gibt die X-Koordinate eines Punkts mit dem Typ double
zurück. Beispiel:
SELECT ST_X(ST_Point(1.5, 2.5))
ST_XMax(geometry)
Gibt die maximale X-Koordinate einer Geometrie mit dem Typ double
zurück. Beispiel:
SELECT ST_XMax(ST_Line('linestring(0 2, 2 2)'))
ST_XMin(geometry)
Gibt die minimale X-Koordinate einer Geometrie mit dem Typ double
zurück. Beispiel:
SELECT ST_XMin(ST_Line('linestring(0 2, 2 2)'))
ST_Y(point)
Gibt die Y-Koordinate eines Punkts mit dem Typ double
zurück. Beispiel:
SELECT ST_Y(ST_Point(1.5, 2.5))
ST_YMax(geometry)
Gibt die maximale Y-Koordinate einer Geometrie mit dem Typ double
zurück. Beispiel:
SELECT ST_YMax(ST_Line('linestring(0 2, 2 2)'))
ST_YMin(geometry)
Gibt die minimale Y-Koordinate einer Geometrie mit dem Typ double
zurück. Beispiel:
SELECT ST_YMin(ST_Line('linestring(0 2, 2 2)'))