Qual è il modo più comune di visualizzare i geodati di Postgis su Leaflet?


18

Ad esempio, nel mio database ho alcuni punti con coordinate geografiche. Voglio visualizzarli sul layer Leaflet JS. Quali strumenti dovrei usare? Forse c'è qualche API ...


Benvenuti in GIS SE? La tua domanda è davvero "Come visualizzare i punti PostGIS usando Leaflet?" In tal caso, puoi modificare la tua domanda per renderlo più chiaro perché non sono sicuro di cosa intendi per "strumenti" in questo contesto.
PolyGeo

Risposte:


22

Per ottenere i dati da un database in un browser Web, è necessario utilizzare uno script sul lato server. Questo può essere difficile da fare perché è necessario essere consapevoli delle vulnerabilità, come l'iniezione SQL. Alcune cose importanti da tenere presente sono che è necessario utilizzare query con parametri e assicurarsi che l'utente del database non sia privilegiato, avendo accesso in sola lettura alle tabelle che si desidera siano pubbliche.

Il modo semplice per ottenere l'accesso API a un database è utilizzare un po 'di software come GeoServer, ma si tratta di un'applicazione molto grande da utilizzare per problemi potenzialmente piccoli.

Un altro metodo sarebbe quello di fare in modo che uno script sul lato server esegua il dump periodico dei dati in un file GeoJSON, a seconda della frequenza con cui i dati cambiano, questo può essere orario, giornaliero, settimanale. tieni presente che il tuo sito Web potrebbe non funzionare durante la scrittura del file.

Un altro metodo è utilizzare PHP o Python come script CGI per creare la tua API.

Esempi:

Una volta che hai GeoJSON, dinamico o statico, puoi caricarlo molto facilmente usando Leaflet: http://leafletjs.com/examples/geojson.html .


1
Grazie per la risposta. Sono propenso a usare GeoJSON. Ora voglio usare il file CSV invece di Postgis, convertirlo in geoJSON e quindi visualizzare i dati con Leaflet.
John Smith,

1
usa quindi ogr2ogr leggendo csv per convertire facilmente in geoJSON
Jorge Sanz

1
Se i tuoi dati sono troppo grandi e impiegano troppo tempo a caricarsi come JSON, dai un'occhiata a TopoJSON. github.com/mbostock/topojson
Alex Leith il

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.