KML ve stil bilgilerini Geoserver'a aktarma


9

Bu yüzden bir yılı aşkın süredir geliştirilmekte olan bir proje üzerinde çalışıyorum, ancak henüz yeni katıldım. Benim görevim yaklaşık 2.500 KML dosyasını başka bir biçime dönüştürmek, bu dosyaları bir Geoserver'a aktarmak ve daha sonra her dosya için ilişkili stil bilgilerinin üzerine kopyalamaktır. Geoserver'ın KML dosyalarını doğrudan içe aktarmanıza izin verdiğini anlıyorum, ancak dosyalarımız asla doğru şekilde görüntülenmiyor ve patronum felsefi nedenlerden dolayı KML biçiminden uzaklaşmak istiyor.

Ogr2ogr kullanarak, bu dosyaları ESRI Shapefiles dönüştürmeye çalıştım, ancak dönüştürme işlemi sadece dosyaların yaklaşık üçte birinde çalıştı ve stil bilgilerinde çağrılan meta verilerin bazılarını sildi. Okuduğum çokgenler ve noktalar için kod dönüştürmeyen dosyalar QGIS gibi diğer programlar için bir hata olabilir.

Ayrıca tüm KML dosyalarını bir PostGIS veritabanına koymaya ve bu şekilde dönüştürmeye çalıştım. Ancak, bu, içe aktarma için esasen boş tablolar bırakarak tüm verileri siliyor gibi görünüyor.

TL; DR 2.500 KML dosyasını Geoserver tarafından kullanılabilecek bir biçime dönüştürmenin bir yolunu bulmam gerekiyor ve XML stil bilgileriyle çalışacak. Ben tam bir CBS çaylak ve bu benim ilk kez gönderme, bu yüzden bu biraz saçma görünüyor üzgünüm.


Biçem tüm KML dosyaları için aynı mıdır yoksa tamamen farklı mıdır? Birincisi, GeoServer için SLD (XML tabanlı bir format) kullanan bir stil dosyasını (veya dosya kümesini) elle döndürebileceğinizi bulabilirsiniz.
nmtoken


Bu soruyu nerede sorabilirim bilmiyorum ama eminim cevabımı biliyorsun. Yine de GeoServer'da KML'yi yeni veri kaynağı olarak yüklemek için burada mısınız? @samane
Mostafa Fallah

Yanıtlar:


1

GeoServer'da veri ve stil ayrılır, bunları karıştırmanın bir yolu yoktur. Bir SLD'yi otomatik olarak oluşturabilirsiniz. Şimdiye kadar, kml stili için geoserver stiline bir dönüştürücü olup olmadığını bilmiyorum.


1

İlk olarak, Geoserver stili (SLD) ve veriler (KML) tamamen farklıdır. Geoserver'da KML dosyasını içe aktarın ve stil düzenleyicide SLD dosyası oluşturun veya görüntüleyicide (Mapfishapp gibi) stil oluşturun ve ardından, sld'yi XML içinde yazmadan kolayca almak için (sınıflandırma gerçekleştirmek daha zor veya bazı sistem kolayca fark ettiğinde diğer belirli stil).

Daha sonra, GIS verilerini kaydetmek için KML dosyalarını kullandım ve her zaman, öznitelik kaybettim (= veri kaybı). KML sadece geometri bilgilerini tutar. Nativ verilerinizi başka bir formata (CSV keep özniteliği) kaydetmek veya sadece veri tablosu oluşturmak ve daha sonra coğrafi bilgileri vermek veya doğrudan katman oluşturmak daha iyidir. (şekil dosyası, Csv ...).

Umarım sana yardım ederim ...


1

Kullanmak istediğiniz kml dosyasındaki ve "meta veri" olarak adlandırdığınız ek bilgiler KML jargonunda olabilir:

  1. Stiller ve Stil Haritaları
  2. Genişletilmiş Veri
  3. Bir Yer İşaretinin Açıklama alanındaki, genellikle html tabloları biçimindeki özel bilgiler

Her kml dosyası bir ASCII dosyası olduğundan, bir metin işleme komut dosyası aracılığıyla işlenebilir. Anladığım kadarıyla, Geoserver'da sunmak ve stil vermek istediğiniz her nesne türü için ayrı bir "katman" oluşturulmalıdır. Bu, her bir kml dosyasından, nesne türleri sınıflandırmanıza bağlı olarak birkaç dosyaya sahip olacağınız anlamına gelir.

Hazır araçlar için basit bir iş değil. Umarım tüm 2.500 kml dosyaları aynı uygulama ile oluşturulursa, aynı yapıya sahip olurlar. Bu durumda, bu yapının ayrıntılı bir analizine ve birçok özel komut dosyasına ihtiyacınız olacaktır.


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.