- Kategorien:
ST_POINTN¶
Gibt einen Punkt zu einem angegebenen Index eines LineString-Objekts zurück.
- Siehe auch:
Syntax¶
ST_POINTN( <geography_or_geometry_expression> , <index> )
Argumente¶
geography_or_geometry_expression
Das Argument muss ein Ausdruck vom Typ GEOGRAPHY oder GEOMETRY sein, der einen LineString darstellt.
index
Der Index des zurückzugebenden Punktes. Der Index muss eine Ganzzahl (Integer) sein.
Ein negativer Index wird als Offset vom Ende des LineString-Objekts interpretiert. Beispielsweise wird
-1
als der letzte Punkt des LineString interpretiert,-2
als der vorletzte Punkt usw.
Rückgabewerte¶
Die Funktion gibt einen Wert vom Typ GEOGRAPHY oder GEOMETRY zurück, der den Punkt am angegebenen Index des LineString-Objekts enthält.
Nutzungshinweise¶
Wenn
geography_or_geometry_expression
kein LineString ist, gibt die Funktion einen Fehler zurück.Wenn
index
außerhalb der Grenzen liegt (z. B. die Anzahl der Punkte in LineString überschreitet), gibt die Funktion einen Fehler zurück.
Beispiele¶
GEOGRAPHY-Beispiele¶
Die folgende Abfrage gibt den zweiten Punkt eines LineString-Objekts zurück:
ALTER SESSION SET GEOGRAPHY_OUTPUT_FORMAT='WKT';
SELECT ST_POINTN(TO_GEOGRAPHY('LINESTRING(1 1, 2 2, 3 3, 4 4)'), 2);
+--------------------------------------------------------------+
| ST_POINTN(TO_GEOGRAPHY('LINESTRING(1 1, 2 2, 3 3, 4 4)'), 2) |
|--------------------------------------------------------------|
| POINT(2 2) |
+--------------------------------------------------------------+
Die folgende Abfrage verwendet einen negativen Index, um den zweiten Punkt vom Ende eines LineString-Objekts zurückzugeben:
ALTER SESSION SET GEOGRAPHY_OUTPUT_FORMAT='WKT';
SELECT ST_POINTN(TO_GEOGRAPHY('LINESTRING(1 1, 2 2, 3 3, 4 4)'), -2);
+---------------------------------------------------------------+
| ST_POINTN(TO_GEOGRAPHY('LINESTRING(1 1, 2 2, 3 3, 4 4)'), -2) |
|---------------------------------------------------------------|
| POINT(3 3) |
+---------------------------------------------------------------+
GEOMETRY-Beispiele¶
Die folgende Abfrage gibt den zweiten Punkt eines LineString-Objekts zurück:
ALTER SESSION SET GEOMETRY_OUTPUT_FORMAT='WKT';
SELECT ST_POINTN(TO_GEOMETRY('LINESTRING(1 1, 2 2, 3 3, 4 4)'), 2);
+-------------------------------------------------------------+
| ST_POINTN(TO_GEOMETRY('LINESTRING(1 1, 2 2, 3 3, 4 4)'), 2) |
|-------------------------------------------------------------|
| POINT(2 2) |
+-------------------------------------------------------------+
Die folgende Abfrage verwendet einen negativen Index, um den zweiten Punkt vom Ende eines LineString-Objekts zurückzugeben:
ALTER SESSION SET GEOMETRY_OUTPUT_FORMAT='WKT';
SELECT ST_POINTN(TO_GEOMETRY('LINESTRING(1 1, 2 2, 3 3, 4 4)'), -2);
+--------------------------------------------------------------+
| ST_POINTN(TO_GEOMETRY('LINESTRING(1 1, 2 2, 3 3, 4 4)'), -2) |
|--------------------------------------------------------------|
| POINT(3 3) |
+--------------------------------------------------------------+