sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL breedtegraad lengtegraad query

Hier is nog een voorbeeld waarbij de puntoperator wordt gebruikt:

Eerste installatie (hoeft maar één keer te worden uitgevoerd):

create extension cube;
create extension earthdistance;

En dan de vraag:

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

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

Merk op dat points zijn gemaakt met LONGITUDE FIRST . Volgens de documentatie:

Punten worden genomen als (lengtegraad, breedtegraad) en niet omgekeerd, omdat lengtegraad dichter bij het intuïtieve idee van x-as en breedtegraad aan y-as ligt.

Wat een vreselijk ontwerp is... maar zo is het.

Je output is binnen mijlen .

Geeft de afstand in statuutmijlen tussen twee punten op het aardoppervlak.



  1. Oracle naar PostgreSQL — Cursors en ltrees

  2. Selecteer het aantal rijen in een andere tabel in een Postgres SELECT-instructie

  3. Updates voor het JSON-veld blijven niet bestaan ​​in DB

  4. 8 Nieuwe Oracle-compatibiliteitsfuncties in EnterpriseDB PPAS 9.2 Beta