Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

ST_DistanceSphere - Amazon Redshift

ST_DistanceSphere

ST_DistanceSphere devuelve la distancia entre dos geometrías de puntos que están en una esfera.

Sintaxis

ST_DistanceSphere(geom1, geom2)
ST_DistanceSphere(geom1, geom2, radius)

Argumentos

geom1

Un valor de punto en grados de tipo de datos GEOMETRY que está en una esfera. La primera coordenada del punto es el valor de la longitud. La segunda coordinada del punto es el valor de la latitud. En el caso de las geometrías 3DZ, 3DM o 4D, solo se utilizan las dos primeras coordenadas.

geom2

Un valor de punto en grados de tipo de datos GEOMETRY que está en una esfera. La primera coordenada del punto es el valor de la longitud. La segunda coordinada del punto es el valor de la latitud. En el caso de las geometrías 3DZ, 3DM o 4D, solo se utilizan las dos primeras coordenadas.

radius

El radio de una esfera de tipo de datos DOUBLE PRECISION. Si no se proporciona radius, la esfera por defecto es la Tierra y el radio se computa a partir de la representación del sistema geodésico mundial (WGS) 84 del elipsoide.

Tipo de retorno

DOUBLE PRECISION en las mismas unidades que el radio. Si no se proporciona ningún radio, la distancia se indica en metros.

Si geom1 o geom2 son null o empty, entonces se devuelve el valor null.

Si no se proporciona ningún radius, el resultado en metros es la superficie de la Tierra.

Si radius es un número negativo, 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.

Si geom1 o geom2 no son un punto, se devuelve un error.

Ejemplos

En el siguiente ejemplo de SQL se calcula la distancia en kilómetros entre dos puntos de la Tierra.

SELECT ROUND(ST_DistanceSphere(ST_Point(-122, 47), ST_Point(-122.1, 47.1))/ 1000, 0);
round ----------- 13

El siguiente SQL de ejemplo computa la distancia en kilómetros entre las ubicaciones de tres aeropuertos en Alemania: Berlin Tegel (TXL), Munich International (MUC) y Frankfurt International (FRA).

WITH airports_raw(code,lon,lat) AS ( (SELECT 'MUC', 11.786111, 48.353889) UNION (SELECT 'FRA', 8.570556, 50.033333) UNION (SELECT 'TXL', 13.287778, 52.559722)), airports1(code,location) AS (SELECT code, ST_Point(lon, lat) FROM airports_raw), airports2(code,location) AS (SELECT * from airports1) SELECT (airports1.code || ' <-> ' || airports2.code) AS airports, round(ST_DistanceSphere(airports1.location, airports2.location) / 1000, 0) AS distance_in_km FROM airports1, airports2 WHERE airports1.code < airports2.code ORDER BY 1;
airports | distance_in_km -------------+---------------- FRA <-> MUC | 299 FRA <-> TXL | 432 MUC <-> TXL | 480
PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.