Postgis'ten Leaflet'te coğrafi verileri görüntülemenin en yaygın yolu nedir?


18

Örneğin, veritabanımda coğrafi koordinatları olan bazı noktalar var. Onları Leaflet JS katmanında görüntülemek istiyorum. Hangi enstrümanları kullanmalıyım? Belki bazı API var ...


GIS SE'ye Hoşgeldiniz? Sorunuz gerçekten "Leaflet kullanarak PostGIS puanları nasıl görüntülenir?" Eğer öyleyse, sorunuzu daha açık hale getirmek için düzenleyebilir misiniz, çünkü bu bağlamda “enstrümanlar” ile ne demek istediğinizden emin değilim.
PolyGeo

Yanıtlar:


22

Veritabanından bir web tarayıcısına veri almak için sunucu tarafı bir komut dosyası kullanmanız gerekir. Bunu yapmak zor olabilir, çünkü SQL enjeksiyonu gibi güvenlik açıklarının farkında olmanız gerekir. Dikkat edilmesi gereken en iyi uygulamalardan bazıları, parametrelenmiş sorguları kullanmanız ve veritabanı kullanıcınızın yalnızca herkese açık olmasını istediğiniz tablolara okuma erişimi olan ayrıcalıksız olmasını sağlamanızdır.

Bir veritabanına API erişimi almanın kolay yolu GeoServer gibi bir yazılım kullanmaktır, ancak bu potansiyel olarak küçük bir problem için kullanmak için çok büyük bir uygulamadır.

Başka bir yöntem, sunucu tarafı bir komut dosyasının, verilerinizin ne sıklıkta değiştiğine bağlı olarak, verileri düzenli olarak bir GeoJSON dosyasına dökmesini sağlamaktır, bu saatlik, günlük, haftalık olabilir. dosya yazarken web sitenizin çalışmayabileceğini unutmayın.

Başka bir yöntem, kendi API'nizi oluşturmak için CGI betiği olarak PHP veya Python kullanmaktır.

Örnekler:

GeoJSON'a sahip olduğunuzda, ister dinamik ister statik olsun, Leaflet'i kullanarak kolayca yükleyebilirsiniz: http://leafletjs.com/examples/geojson.html .


1
Cevap için teşekkürler. GeoJSON kullanmaya meyilliyim. Şimdi Postgis yerine CSV dosyasını kullanmak, geoJSON'a dönüştürmek ve daha sonra Leaflet ile veri görüntülemek istiyorum.
John Smith

1
kullanmak ogr2ogr okuma csv kolayca geoJSON dönüştürmek için
Jorge Sanz

1
Verileriniz çok büyükse ve JSON olarak yüklenmesi çok uzun sürüyorsa, TopoJSON'a bakın. github.com/mbostock/topojson
Alex Leith

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.