WebGIS uygulamamda Leaflet'i kullanmama rağmen, OpenLayers Leaflet'e göre çok daha fazla avantaja sahip. Örneğin, uygulamanızı mobil cihazlarda kullanmak istiyorsanız, OpenLayers şimdilik bir zorunluluktur.
OpenLayers ile ilgili birçok kaynak var, ancak Leaflet ile uygulama geliştirmenin OpenLayers'tan daha kolay olduğunu düşünüyorum (bir kodu okumak ve yapıyı anlamak daha kolay). Zaman sınırlamanız varsa ve Javascript ile ilgili biraz deneyiminiz varsa, Leaflet'i kullanmak daha hızlı sonuç almak için daha iyi bir çözüm olabilir. Ya da çok basit bir uygulama geliştirmek istiyorsanız, ilk başta uyarlamak çok daha kolay olabilir.
Ancak Leaflet ile bir uygulama geliştirdikten sonra, şimdiden başında OpenLayers'ı kullanabilmeyi diliyorum. Çünkü uygulamanız karmaşık hale geldiğinde (örneğin bir veritabanından karmaşık katmanları çağırmak, sağlam bir mobil uygulama geliştirmek, vb.), Leaflet yeteneklerinizi sınırlandırmaya başlar. Bu yüzden, öğrenme aşamasında OpenLayers yapısını anlamak ve öğrenmek için biraz daha fazla zaman harcamanın sonunda buna değeceğini düşünüyorum.
Proje detayları dikkate alındığında;
Özellik Bilgisini almak için harita arayüzünü kullanın:
Hem Leaflet hem de OpenLayers bunu mükemmel şekilde yapabilir. Buradaki nokta, click olayının koordinatlarını almak ve sunucuya istek göndermek. İstek bağlantısı her iki uygulama için aynı olacaktır.
Kullanıcıdan haritayı tıkladığı yere kadar lat / lonu alan ve ardından İklim Verilerini rasterden alan (sunucudaki bir py betiği tarafından işlenir) getiren özelleştirilmiş bir araç oluşturun:
Bunu Leaflet'te elde ettim (bu arada iklim verilerini de arıyordum). Raster verilerini bir sunucudan almadım ama buradaki amaç her iki uygulama için de kolay olan bir istek bağlantısı oluşturmak. Ancak, bu aşamada bir çokgen seçmek istiyorsanız, Leaflet'te elde edilmesi biraz zordur.
Kullanıcının, haritada Vektör Özellikleri oluşturan bir GeoJSON döndüren py komut dosyasına gönderilen excel'i yüklemesine izin verir:
Leaflet ve OpenLayers için yaklaşık aynı çalışma çizgisi. Hangisinin daha iyi olduğunu söyleyemem.
Kullanıcının WFS Katmanından kesiştiği Özellikleri alacağı vektör çokgenler oluşturmasına izin ver:
OpenLayers'ın düzenleme yetenekleri hakkında hiçbir fikrim yok, ancak Leaflet, çizim tamamlandıktan sonra çizimleri (javascript tarafında) kullanımı ve işlenmesi kolay olan Leaflet Draw adlı bir eklentiye sahip. Ayrıca, WFS sunucusundaki uzamsal verileri değiştirmek isterseniz, Leaflet'in bir WFS-T desteği vardır. OpenLayers bundan daha iyi olabilir, bilmiyorum.
GeoServer'daki PostGIS Veri Deposundan Katmanı alır ve katmanları harita üzerinde görüntüler:
Kesinlikle OpenLayers bu iş için daha iyidir çünkü PostGIS sunucusuna bağlanmak daha kolaydır.
Bu arada, OpenLayers, GeoServer ve PostGIS'i içeren OpenGeo Suite adlı bir uygulama paketi var ; bir web tabanlı GIS uygulama geliştiricisi olan tüm sorunları çözecek.