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 SQL
Databricks Runtime 17.1 y versiones posteriores
Important
Esta característica está en versión preliminar pública.
Nota:
Esta característica no está disponible en almacenes clásicos de Databricks SQL. Para más información sobre los almacenes de SQL de Databricks, consulte Tipos de almacenamiento de SQL.
Establece el n-ésimo punto de la línea de entrada GEOGRAPHY o el valor GEOMETRY.
Syntax
st_setpoint ( geo1Expr, indexExpr, geo2Expr )
Arguments
-
geo1Expr: unGEOGRAPHYvalor oGEOMETRYque representa una cadena de líneas. -
indexExpr: valorINTEGERque indica la posición basada en 1 en la cadena de líneas donde se debe establecer el nuevo punto. -
geo2Expr: unGEOGRAPHYvalor oGEOMETRYque representa un punto.
Returns
Valor de tipo GEOGRAPHY si y geo1Exprgeo2Expr son de tipo GEOGRAPHY, o un valor de tipo GEOMETRY si ambos geo1Expr y geo2Expr son de tipo GEOMETRY.
Si indexExpr es positivo, el valor devuelto GEOGRAPHY o GEOMETRY es una nueva cadena de línea cuyo indexExprpunto -th (contado desde la izquierda) está establecido en geo2Expr.
Si indexExpr es negativo, la posición basada en 1 de la línea donde se agrega el punto se mide desde la derecha.
- La función devuelve
NULLsi alguna de las entradas esNULL. - El valor SRID de la línea de salida es igual al valor SRID común de los valores de entrada
GEOGRAPHYoGEOMETRY. - La dimensión de la salida de
GEOGRAPHYoGEOMETRYlinestring es la misma que la degeo1Expr. Sigeo2Exprcontiene coordenadas cuya dimensión no existe engeo1Expr, las coordenadas correspondientes se establecen en 0.
Condiciones de error
- Si
geo1Expres de tipoGEOGRAPHYygeo2Expres de tipoGEOMETRY, o de otro modo, la función devuelve DATATYPE_MISMATCH. - Si los valores SRID de
geo1Exprygeo2Exprdifieren, la función devuelve ST_DIFFERENT_SRID_VALUES. - La función devuelve ST_INVALID_ARGUMENT. INVALID_TYPE en cualquiera de los casos siguientes:
- El valor de
geo1Exprno es una cadena de línea. - El valor de
geo2Exprno es un punto.
- El valor de
- La función devuelve ST_INVALID_ARGUMENT. EMPTY_LINESTRING en si el valor de
geo1Expres una cadena de línea vacía. - La función devuelve ST_INVALID_ARGUMENT. EMPTY_POINT en si el valor de
geo2Expres un punto vacío. - Si el valor absoluto del valor de
indexExpres 0 o mayor que el número de puntos de la cadena de líneas, la función devuelve ST_INVALID_ARGUMENT. INVALID_INDEX_VALUE.
Examples
-- We set the first point of the linestring counting from the left.
> SELECT st_astext(st_setpoint(st_geomfromtext('LINESTRING(1 2,3 4)'), 1, st_geomfromtext('POINT(7 8)')));
LINESTRING(7 8,3 4)
-- We set the first point of the linestring counting from the right.
-- The point is missing a Z coordinate. This is set to 0 when we update the linestring.
> SELECT st_asewkt(st_setpoint(st_geogfromtext('LINESTRING ZM (1 2 3 4,5 6 7 8)'), -1, st_geogfromtext('POINT M (0 9 99)')));
SRID=4326;LINESTRING ZM (1 2 3 4,0 9 0 99)