ST_LineInterpolatePoint - Amazon Redshift

ST_LineInterpolatePoint

ST_LineInterpolatePoint devuelve un punto a lo largo de una línea a una distancia fraccionaria desde el inicio de la línea.

Para determinar la igualdad de los puntos, ST_LineInterpolatePoint opera en la proyección 2D de la geometría de entrada. Si la geometría de entrada está vacía, se devuelve una copia de ella en la misma dimensión que la entrada. Para las geometrías 3DZ, 3DM y 4D, la coordenada z o m es el promedio de las coordenadas z o m del segmento donde se encuentra el punto.

Sintaxis

ST_LineInterpolatePoint(geom, fraction)

Argumentos

geom

Un valor de tipo de datos GEOMETRY o una expresión que toma el valor de un tipo GEOMETRY. El subtipo es LINESTRING.

fraction

Un valor de tipo de datos DOUBLE PRECISION que representa la posición de un punto a lo largo de la cadena de línea para la línea. El valor es una fracción en el rango de 0 a 1, inclusive.

Tipo de retorno

GEOMETRY del subtipo POINT.

Si geom o fraction son null, se devuelve el valor null.

Si geom está vacío, se devuelve el punto vacío.

El valor del identificador de sistema de referencia espacial (SRID) de la geometría devuelta es el valor SRID de la geometría de entrada.

Si fraction está fuera de rango, se devuelve un error.

Si geom no es una cadena de línea, se devuelve un error.

Ejemplos

El siguiente SQL devuelve un punto a la mitad de una cadena de línea.

SELECT ST_AsEWKT(ST_LineInterpolatePoint(ST_GeomFromText('LINESTRING(0 0, 5 5, 7 7, 10 10)'), 0.50));
st_asewkt ----------- POINT(5 5)

El siguiente SQL devuelve un punto que se encuentra al 90 % del camino de una cadena de línea.

SELECT ST_AsEWKT(ST_LineInterpolatePoint(ST_GeomFromText('LINESTRING(0 0, 5 5, 7 7, 10 10)'), 0.90));
st_asewkt ----------- POINT(9 9)