Oto kolejny przykład z użyciem operatora punktowego:
Wstępna konfiguracja (wystarczy uruchomić tylko raz):
create extension cube;
create extension earthdistance;
A potem zapytanie:
select (point(-0.1277,51.5073) <@> point(-74.006,40.7144)) as distance;
distance
------------------
3461.10547602474
(1 row)
Zauważ, że points
są tworzone za pomocą LONGITUDE FIRST . Zgodnie z dokumentacją:
Punkty są traktowane jako (długość, szerokość geograficzna), a nie odwrotnie, ponieważ długość geograficzna jest bliższa intuicyjnej idei osi x, a szerokość geograficzna do osi y.
Co jest okropnym projektem... ale tak właśnie jest.
Twój wynik będzie w milach .
Podaje odległość w milach standardowych między dwoma punktami na powierzchni Ziemi.