Apa cara paling umum untuk menampilkan geodata dari Postgis di Leaflet?

18

Misalnya, dalam database saya, saya memiliki beberapa titik dengan koordinat geografis. Saya ingin menampilkannya di layer Leaflet JS. Instrumen apa yang harus saya gunakan? Mungkin ada beberapa API ...

John Smith
sumber
Selamat datang di GIS SE? Apakah pertanyaan Anda benar-benar "Bagaimana menampilkan poin PostGIS menggunakan Leaflet?" Jika demikian, dapatkah Anda mengedit pertanyaan Anda untuk membuatnya lebih jelas karena saya tidak yakin apa yang Anda maksud dengan "instrumen" dalam konteks ini.
PolyGeo

Jawaban:

22

Untuk mendapatkan data dari database ke browser web, Anda harus menggunakan skrip sisi server. Ini bisa rumit untuk dilakukan karena Anda harus mewaspadai kerentanan, seperti injeksi SQL. Beberapa praktik terbaik yang perlu diperhatikan adalah Anda harus menggunakan kueri yang diparameterisasi dan memastikan bahwa pengguna basis data Anda tidak terjangkau, hanya memiliki akses baca ke tabel yang ingin Anda publikasikan.

Cara mudah untuk mendapatkan akses API ke database adalah dengan menggunakan sedikit perangkat lunak seperti GeoServer, tetapi itu adalah aplikasi yang sangat besar untuk digunakan untuk masalah yang berpotensi kecil.

Metode lain adalah membuat skrip sisi server membuang data ke dalam file GeoJSON secara berkala, tergantung pada seberapa sering data Anda berubah, ini bisa setiap jam, harian, mingguan. Ingatlah bahwa situs web Anda mungkin tidak berfungsi saat file sedang ditulis.

Metode lain adalah dengan menggunakan PHP atau Python sebagai skrip CGI untuk membangun API Anda sendiri.

Contoh:

Setelah memiliki GeoJSON, baik dinamis maupun statis, Anda dapat memuatnya dengan sangat mudah menggunakan Leaflet: http://leafletjs.com/examples/geojson.html .

Alex Leith
sumber
1
Terima kasih atas jawabannya. Saya cenderung menggunakan GeoJSON. Sekarang saya ingin menggunakan file CSV daripada Postgis, mengubahnya menjadi geoJSON dan kemudian menampilkan data dengan Leaflet.
John Smith
1
gunakan kemudian ogr2ogr membaca csv untuk mengonversi dengan mudah ke geoJSON
Jorge Sanz
1
Jika data Anda terlalu besar dan memuat terlalu lama sebagai JSON, lihat TopoJSON. github.com/mbostock/topojson
Alex Leith
0

Anda dapat mencoba plugin selebaran ini

geomajor56
sumber