Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:
Databricks Runtime 18.3 y versiones posteriores
Important
Esta característica está en versión preliminar pública.
Devuelve un punto que se garantiza que se encuentra en o dentro del valor de entrada GEOMETRY .
Syntax
st_pointonsurface ( geoExpr )
Argumentos
-
geoExpr: Un valorGEOMETRY.
Devoluciones
Valor de punto GEOMETRY 2D que se garantiza que se encuentra en o dentro del valor de entrada GEOMETRY .
Más precisamente:
- Si el valor de entrada
GEOMETRYestá vacío, se devuelve el punto vacío 2D. - Si el valor de entrada
GEOMETRYes un punto no vacío, se devuelve la proyección 2D del punto. - Si el valor de entrada
GEOMETRYes una cadena de línea no vacía, se devuelve el vértice medio. - Si el valor de entrada
GEOMETRYes un polígono no vacío, se devuelve un punto en el interior del polígono siempre que sea posible; en caso contrario, un punto en su límite. - Si el valor de entrada
GEOMETRYes un punto múltiple, se devuelve el punto no vacío más cercano al centro del cuadro de límite. - Si el valor de entrada
GEOMETRYes una cadena multilínea, se devuelve un punto en la superficie de la línea con la longitud más grande. - Si el valor de entrada
GEOMETRYes un multipolygon, se devuelve un punto en la superficie del polígono con el área más grande. - Si el valor de entrada
GEOMETRYes una colección de geometría, se devuelve un punto en la superficie de uno de los elementos dimensionales máximos de la colección.
El valor SRID del valor de salida GEOMETRY es el mismo que el del valor de entrada.
Ejemplos
-- 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