ST_Distance - Amazon Redshift

ST_Distance

En el caso de las geometrías de entrada, ST_Distance devuelve la distancia euclidiana mínima entre las proyecciones 2D de los dos valores de geometría de entrada.

En el caso de las geometrías 3DM, 3DZ y 4D, ST_Distance devuelve la distancia euclidiana entre las proyecciones 2D de dos valores de geometría de entrada.

En el caso de las geografías de entrada, ST_Distance devuelve la distancia geodésica de los dos puntos 2D. La unidad de distancia se expresa en metros. En el caso de las geografías distintas de los puntos y los puntos vacíos, se devuelve un error.

Sintaxis

ST_Distance(geo1, geo2)

Argumentos

geo1

Un valor de tipo de datos GEOMETRY o GEOGRAPHY, o una expresión que toma el valor de un tipo GEOMETRY o GEOGRAPHY. El tipo de datos de geo1 debe coincidir con el de geo2.

geo2

Un valor de tipo de datos GEOMETRY o GEOGRAPHY, o una expresión que toma el valor de un tipo GEOMETRY o GEOGRAPHY. El tipo de datos de geo2 debe coincidir con el de geo1.

Tipo de retorno

DOUBLE PRECISION en las mismas unidades que las geometrías o las geografías de entrada de datos.

Si geo1 o geo2 es nulo o está vacío, se devuelve el valor nulo.

Si geo1 y geo2 no tienen el mismo valor en el identificador de sistema de referencia espacial (SRID), se devuelve un error.

Si geo1 o geo2 es una colección geométrica, se devuelve un error.

Ejemplos

El siguiente SQL devuelve la distancia entre dos polígonos.

SELECT ST_Distance(ST_GeomFromText('POLYGON((0 2,1 1,0 -1,0 2))'), ST_GeomFromText('POLYGON((-1 -3,-2 -1,0 -3,-1 -3))'));
st_distance ----------- 1.4142135623731

El siguiente SQL devuelve la distancia (en metros) entre la Puerta de Brandeburgo y el edificio del Reichstag de Berlín mediante un tipo de datos GEOGRAPHY.

SELECT ST_Distance(ST_GeogFromText('POINT(13.37761826722198 52.516411678282445)'), ST_GeogFromText('POINT(13.377950831464005 52.51705102546893)'));
st_distance ------------------ 74.64129172609631