PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Requête latitude/longitude PostgreSQL

Voici un autre exemple utilisant l'opérateur de point :

Configuration initiale (n'a besoin d'être exécuté qu'une seule fois) :

create extension cube;
create extension earthdistance;

Et puis la requête :

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

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

Notez que points sont créés avec LONGITUDE EN PREMIER . Selon la documentation :

Les points sont pris comme (longitude, latitude) et non l'inverse car la longitude est plus proche de l'idée intuitive de l'axe des x et la latitude de l'axe des y.

C'est une conception terrible... mais c'est comme ça.

Votre sortie sera en miles .

Donne la distance en milles terrestres entre deux points sur la surface de la Terre.