- 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_expressionDas Argument muss ein Ausdruck vom Typ GEOGRAPHY oder GEOMETRY sein, der einen LineString darstellt.
indexDer 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
-1als der letzte Punkt des LineString interpretiert,-2als 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_expressionkein LineString ist, gibt die Funktion einen Fehler zurück.Wenn
indexauß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) |
+--------------------------------------------------------------+