PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

PostgreSQL-Breite-Längen-Abfrage

Hier ist ein weiteres Beispiel für die Verwendung des Punktoperators:

Erste Einrichtung (muss nur einmal ausgeführt werden):

create extension cube;
create extension earthdistance;

Und dann die Abfrage:

select (point(-0.1277,51.5073) <@> point(-74.006,40.7144)) as distance;

     distance     
------------------
 3461.10547602474
(1 row)

Beachten Sie, dass points werden mit LONGITUDE FIRST erstellt . Laut Dokumentation:

Punkte werden als (Längengrad, Breitengrad) genommen und nicht umgekehrt, da der Längengrad näher an der intuitiven Vorstellung von der x-Achse und der Breitengrad an der y-Achse liegt.

Das ist ein schreckliches Design... aber so ist es.

Ihre Ausgabe erfolgt in Meilen .

Gibt die Entfernung in Meilen zwischen zwei Punkten auf der Erdoberfläche an.