Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Databricks Runtime 18.3 und höher
Important
Dieses Feature befindet sich in der Public Preview.
Gibt einen Punkt zurück, der garantiert auf oder innerhalb des Eingabewerts GEOMETRY liegt.
Syntax
st_pointonsurface ( geoExpr )
Arguments
-
geoExpr: EinGEOMETRYWert.
Rückkehr
Ein 2D-Punktwert GEOMETRY , der garantiert auf oder innerhalb des Eingabewerts GEOMETRY liegt.
Im Einzelnen:
- Wenn der Eingabewert
GEOMETRYleer ist, wird der leere 2D-Punkt zurückgegeben. - Wenn der Eingabewert
GEOMETRYein nicht leerer Punkt ist, wird die 2D-Projektion des Punkts zurückgegeben. - Wenn der Eingabewert
GEOMETRYeine nicht leere Linienzeichenfolge ist, wird der Medianvertex zurückgegeben. - Wenn der Eingabewert
GEOMETRYein nicht leeres Polygon ist, wird nach Möglichkeit ein Punkt im Inneren des Polygons zurückgegeben; andernfalls wird ein Punkt auf seiner Grenze zurückgegeben. - Wenn der Eingabewert
GEOMETRYein Multipoint ist, wird der nicht leere Punkt zurückgegeben, der dem umgebenden Feldmittelpunkt am nächsten kommt. - Wenn der Eingabewert
GEOMETRYeine mehrzeilige Zeichenfolge ist, wird ein Punkt auf der Oberfläche der Linienzeichenfolge mit der größten Länge zurückgegeben. - Wenn der Eingabewert
GEOMETRYein Multipolygon ist, wird ein Punkt auf der Oberfläche des Polygons mit dem größten Bereich zurückgegeben. - Wenn der Eingabewert
GEOMETRYeine Geometrieauflistung ist, wird ein Punkt auf der Oberfläche eines der maximaldimensionalen Elemente der Auflistung zurückgegeben.
Der SRID-Wert des Ausgabewerts GEOMETRY entspricht dem des Eingabewerts.
Beispiele
-- Example taking a 2D polygon.
> SELECT st_asewkt(st_pointonsurface(st_geomfromtext('POLYGON((0 0,10 0,10 10,0 10,0 0))')));
POINT(5 5)
-- Example taking a 2D polygon with a hole: the result lies in the donut region.
> SELECT st_asewkt(st_pointonsurface(st_geomfromtext('POLYGON((0 0,30 0,30 30,0 30,0 0),(5 5,25 5,25 25,5 25,5 5))')));
POINT(3.75 3.75)
-- Example taking a 3DZ linestring: the median vertex is returned and the Z coordinate is dropped.
> SELECT st_asewkt(st_pointonsurface(st_geomfromtext('LINESTRING Z (1 2 -1,3 4 -2,5 6 -3)')));
POINT(3 4)
-- Example taking a multipolygon: a point on the polygon with the largest area is returned.
> SELECT st_asewkt(st_pointonsurface(st_geomfromtext('MULTIPOLYGON(((0 0,10 0,10 10,0 10,0 0)),((100 100,101 100,101 101,100 101,100 100)))')));
POINT(5 5)
-- Example showing that the SRID is preserved.
> SELECT st_asewkt(st_pointonsurface(st_geomfromtext('POLYGON((0 0,10 0,10 10,0 10,0 0))', 3857)));
SRID=3857;POINT(5 5)
-- Example taking a NULL input.
> SELECT st_pointonsurface(NULL);
NULL