Pular para o conteúdo

Retorna a distância esférica entre dois pontos em metros.

func.st_distance_sphere(<lng1>, <lat1>, <lng2>, <lat2>)
func.st_distance_sphere(-73.9857, 40.7484, -0.1278, 51.5074)
┌───────────┐
│ 5570222.5 │
└───────────┘
ST_DISTANCE_SPHERE(<lng1>, <lat1>, <lng2>, <lat2>)

Distância em metros entre Nova York e Londres:

SELECT ST_DISTANCE_SPHERE(-73.9857, 40.7484, -0.1278, 51.5074) AS distance_meters;
┌─────────────────┐
│ distance_meters │
├─────────────────┤
│ 5570222.50 │
└─────────────────┘

Distância em quilômetros (divida os metros por 1000):

SELECT ST_DISTANCE_SPHERE(-73.9857, 40.7484, -0.1278, 51.5074) / 1000 AS distance_km;
┌─────────────┐
│ distance_km │
├─────────────┤
│ 5570.22 │
└─────────────┘

Distância em milhas (divida os metros por 1609.344):

SELECT ST_DISTANCE_SPHERE(-73.9857, 40.7484, -0.1278, 51.5074) / 1609.344 AS distance_miles;
┌────────────────┐
│ distance_miles │
├────────────────┤
│ 3461.02 │
└────────────────┘