3000'den fazla poligonu işlemek için en iyi açık kaynaklı web haritalama çözümü nedir [kapalı]


12

Havzaları temsil eden 3000'den fazla poligonum var (18 ana havza). İlk aşamada 18 havza gösterilecek ve listeleri sol kenar çubuğuna yerleştirilecektir. Eğer haritanın üzerinde herhangi bir kullanıcı faresi sadece havza adını gösterir. Herhangi bir kullanıcı haritada herhangi bir büyük havzayı tıklarsa, ayrıntılı bir açılır pencere açar. Daha büyük bir zumda, tüm havzalar gösterilecektir.

Bu büyük miktarda poligonu işlemek için hangi açık kaynak çözümünün en iyisi olduğu konusunda tavsiyenizi istiyorum.

Ben Leaflet veya OpenLayers hakkında düşünüyordum ama onlar çok miktarda çokgen idare edebilir bilmiyorum.

Ayrıca, bunları mysql'de saklamanızı mı önerirsiniz?


3
Bu çokgenleri rasterleştirebilir misiniz? veya böyle bir geoserver veya özellik sunucusu gibi bir özellik sunucusu mu kullanıyorsunuz?
dassouki

Yanıtlar:


12

Bir görüntü hizmeti (raster katmanı) oluşturur ve Web Harita Hizmeti (WMS) ile sunarım . Bu şekilde WMS'yi ( OpenLayers'ın desteklediği ) desteklediği sürece rahat hissettiğiniz herhangi bir API çerçevesini kullanabilirsiniz . Tüm çokgen özelliklerinin bir katmanını göstermek için WMS'yi kullanabilir ve daha sonra o çokgen hakkındaki bilgileri almak için WMS'nin GetFeatureInfo öğesini tıklayın.

Herhangi bir nedenle harita üzerinde vektör verilerine ihtiyacınız varsa, GetFeatureInfo yanıt verileri ile dinamik olarak tıklayın.


5

Bkz TileMill rasterleştirebilirsiniz, UTFGrid bir içine etkileşimi MBTiles dosyası ve konak onu MapBox veya açık kaynaklı MBTiles sunucu uygulaması gibi TileStache .

İşte çok ve çokgenlerle . Bu yaklaşım, diğer adıyla fırında - fayansları rasterleştirmenizi gerektirir, ancak büyük miktarda sunucu kaynağı, özel bir uygulama veya çok kısıtlı bir tarayıcı seti olmadan istediğinizi yapmanın tek yolu budur.


Bu örneği beğendim. Bana şekil dosyalarını nasıl rasterleştirebileceğimi söyleyebilir misiniz? TileMill'de mi? Teşekkürler.
akış

Evet, en yaygın yol. İşte araç ipuçları eklemeyle ilgili belgeler . GUI araçlarına ve bir Python / Mapnik pro'ya karşı aşırı alerjiniz varsa , tüm bunlardan kaçınan ancak biraz şifreli bir cli yolu da vardır .
tmcw

2

Ölçek bağımlılığı ve uzamsal olarak dizine alınmış bir veritabanı bu sorunun anahtarı olacaktır. Havzaları en az iki, muhtemelen üç veya dört seviye kullanarak temsil edebilmelisiniz. Örneğin, verileri Major (18), Minor (hepsi aynı Major'a giren tüm orta ölçekli havzaların bir kombinasyonu) ve Tersiyer'e (3000 çokgen) bölebilirsiniz. Bu size üç farklı vektör katmanı / hizmeti verecektir.

Kullanıcının yakınlaştırma düzeyine bağlı olarak yalnızca uygun hizmeti çizmek için ölçek bağımlılığını kullanın.

Hizmetlerin hızlı bir şekilde çizilmesini ve yalnızca geçerli görünüm penceresini doldurmak için gereken kısmı çizmesini sağlamak için uzamsal dizine sahip bir veritabanı kullanın.

Alternatif olarak, havza haritalarının döşemelerini (yine her katman için uygun ölçeklere dayanarak oluşturulmuş) oluşturmayı ve bu şekilde sunmayı düşünebilirsiniz.

Bu sitede, bu stratejileri uygulamak için uygun açık kaynaklı çözümler öneren çok sayıda soru var.


0

TileMill'e ek olarak, MangoMap'i kontrol edebilirsiniz , açık kaynak değildir, ancak şu anda ücretsizdir ve bu tür verileri işleyebilir.

[Feragatname: MangoMap ile çalışıyorum, ancak bu durumda uygun olduğu için yanıt veriyorum]

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.