Aqui está outro exemplo usando o operador de ponto:
Configuração inicial (só precisa ser executado uma vez):
create extension cube;
create extension earthdistance;
E então a consulta:
select (point(-0.1277,51.5073) <@> point(-74.006,40.7144)) as distance;
distance
------------------
3461.10547602474
(1 row)
Observe que
points
são criados com LONGITUDE FIRST . Pela documentação:
Os pontos são tomados como (longitude, latitude) e não vice-versa porque a longitude está mais próxima da ideia intuitiva de eixo x e latitude para eixo y.
O que é um design terrível... mas é assim que é.
Sua saída será em milhas .
Dá a distância em milhas terrestres entre dois pontos na superfície da Terra.