In PostGIS, per i punti con latitudine e longitudine c'è il tipo di dati geografici .
Per aggiungere una colonna:
alter table your_table add column geog geography;
Per inserire i dati:
insert into your_table (geog) values ('SRID=4326;POINT(longitude latitude)');
4326 è ID di riferimento spaziale che dice che è dati in gradi di longitudine e latitudine, come nel GPS. Maggiori informazioni: http://epsg.io/4326
L'ordine è Longitudine, Latitudine, quindi se lo si traccia come mappa, è (x, y).
Per trovare il punto più vicino è necessario prima creare indice spaziale:
create index on your_table using gist (geog);
e quindi richiedere, ad esempio, 5 più vicina ad un dato punto:
select *
from your_table
order by geog <-> 'SRID=4326;POINT(lon lat)'
limit 5;
fonte
2017-11-20 16:21:50
se si sta facendo due punti (Mappa lat/lon 2D) Utilizzerei il tipo di dati Geometry. Se hai bisogno di introdurre l'altitudine o la curvatura della terra nei tuoi calcoli di distanza, la geografia è dove vuoi andare. – Twelfth
Qualcuno delle risposte seguenti ha risposto alla tua domanda?Se è così, ti incoraggio a selezionarne una come risposta :) – Volte
c'è una risposta per questo? –