Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del 1 de noviembre de 2025. Si desea utilizar las UDF de Python, créelas antes de esa fecha. Las UDF de Python existentes seguirán funcionando con normalidad. Para obtener más información, consulte la publicación del blog
ST_SetPoint
ST_SetPoint devuelve una cadena de línea con coordenadas actualizadas con respecto a la posición de la cadena de línea de entrada especificada por el índice. Las coordenadas nuevas son las coordenadas del punto de entrada.
La dimensión de la geometría devuelta es la misma que la del valor geom1. Si geom1 y geom2 tienen diferentes dimensiones, geom2 se proyecta a la dimensión de geom1.
Sintaxis
ST_SetPoint(geom1, index, geom2)
Argumentos
- geom1
-
Un valor de tipo de datos
GEOMETRYo una expresión que toma el valor de un tipoGEOMETRY. El subtipo debe serLINESTRING. - índice
-
Un valor del tipo de datos
INTEGERque representa la posición de un índice.0hace referencia al primer punto de la cadena de línea desde la izquierda,1hace referencia al segundo punto, y así sucesivamente. El índice puede ser un valor negativo.-1hace referencia al primer punto de la cadena de línea desde la derecha,-2hace referencia al segundo punto, y así sucesivamente. - geom2
-
Un valor de tipo de datos
GEOMETRYo una expresión que toma el valor de un tipoGEOMETRY. El subtipo debe serPOINT.
Tipo de devolución
GEOMETRY
Si geom2 es el punto vacío, se devuelve geom1.
Si geom1, geom2, o índice es null, se devuelve el valor null.
Si geom1 no es una cadena de línea, se devuelve un error.
Si index no está dentro de un rango de índice válido, se devuelve un error.
Si geom2 no es un punto, se devuelve un error.
Si geom1 y geom2 no tienen el mismo valor en el identificador de sistema de referencia espacial (SRID), se devuelve un error.
Ejemplos
El siguiente SQL devuelve una nueva cadena de línea en la que se establece el segundo punto de la cadena de línea de entrada con el punto especificado.
SELECT ST_AsText(ST_SetPoint(ST_GeomFromText('LINESTRING(1 2, 3 2, 5 2, 1 2)'), 2, ST_GeomFromText('POINT(7 9)')));
st_astext
-------------
LINESTRING(1 2,3 2,7 9,1 2)
El siguiente ejemplo de SQL devuelve una nueva cadena de línea en la que se establece el tercer punto desde la derecha (el índice es negativo) de la cadena de línea con el punto especificado.
SELECT ST_AsText(ST_SetPoint(ST_GeomFromText('LINESTRING(1 2, 3 2, 5 2, 1 2)'), -3, ST_GeomFromText('POINT(7 9)')));
st_astext
-------------
LINESTRING(1 2,7 9,5 2,1 2)