Mengimpor KML dan informasi gaya ke Geoserver

9

Jadi saya mengerjakan proyek yang sudah dalam pengembangan selama lebih dari satu tahun, tetapi saya baru saja terlibat. Tugas saya melibatkan mengkonversi sekitar 2.500 file KML ke format lain, mengimpor file-file ini ke dalam Geoserver, dan kemudian menyalin informasi gaya terkait untuk setiap file. Saya menyadari bahwa Geoserver memungkinkan Anda untuk mengimpor file KML secara langsung, namun, file kami sepertinya tidak pernah di-render dengan benar, dan bos saya ingin pindah dari format KML karena alasan filosofis.

Menggunakan ogr2ogr, saya sudah mencoba untuk mengkonversi file-file ini menjadi ESRI Shapefile, namun proses konversi hanya bekerja pada sekitar sepertiga dari file dan menghapus beberapa metadata yang diminta dalam informasi gaya. File yang tidak mengonversi kode untuk poligon dan poin, yang saya baca bisa menjadi kesalahan untuk program lain seperti QGIS.

Saya juga mencoba meletakkan semua file KML ke dalam database PostGIS dan mengonversinya seperti itu. Namun, itu tampaknya menghapus semua data yang pada dasarnya meninggalkan tabel kosong untuk impor.

TL; DR Saya perlu menemukan cara untuk mengkonversi 2.500 file KML ke dalam format yang dapat digunakan oleh Geoserver, dan akan bekerja dengan informasi gaya XML. Saya seorang nois GIS yang lengkap dan ini adalah pertama kalinya saya memposting, jadi saya minta maaf jika ini tampaknya agak konyol.

Yakub
sumber
Apakah gaya dasarnya sama untuk semua file KML atau semuanya berbeda? Jika yang pertama Anda mungkin menemukan bahwa Anda dapat dengan mudah menggulung file gaya (atau set file) untuk GeoServer yang menggunakan SLD (format berbasis XML).
nmtoken
ini dalam kaitannya dengan mengimpor kml dan informasi gaya ke geoserver
GeoStoneMarten
Saya tidak tahu di mana saya bisa mengajukan pertanyaan ini, tetapi saya yakin Anda tahu jawaban saya. Apakah di sini pula untuk mengunggah KML sebagai sumber data baru di GeoServer? @samane
Mostafa

Jawaban:

1

Dalam data dan gaya GeoServer dipisahkan, tidak ada cara untuk mencampurnya. Anda dapat membuat otomatis SLD. Sejauh ini, saya tidak tahu apakah ada konverter untuk gaya kml ke gaya geoserver.

GeoStoneMarten
sumber
1

Pertama, gaya Geoserver (SLD) dan data (KML) sangat berbeda. Impor file KML di Geoserver dan kemudian, buat file SLD di editor gaya atau buat gaya di dalam penampil (seperti Mapfishapp) dan selanjutnya, simpan file .sld untuk mendapatkan sld dengan mudah tanpa menulis dalam XML (lebih sulit untuk mewujudkan klasifikasi atau gaya spesifik lainnya ketika beberapa sistem menyadarinya dengan mudah).

Kemudian, saya menggunakan file KML untuk menyimpan data GIS dan sepanjang waktu, saya kehilangan atribut (= data hilang). KML hanya menyimpan informasi geometri. Lebih baik menyimpan data nativ Anda ke format lain (atribut CSV keep) atau cukup buat tabel data dan, setelah itu, berikan informasi geografis atau langsung buat layer. (shapefile, Csv ...).

Saya harap saya membantu Anda ...

Gaetan
sumber
1

Informasi tambahan dalam file kml yang ingin Anda gunakan dan Anda sebut sebagai "metadata", bisa di jargon KML:

  1. Gaya dan Stylemaps
  2. ExtendedData
  3. Informasi khusus di bidang Deskripsi Tanda Letak, biasanya dalam bentuk tabel html

Karena setiap file kml adalah file ASCII, itu dapat diproses melalui skrip pemrosesan teks. Menurut pemahaman saya, "lapisan" terpisah harus dibuat untuk setiap jenis objek yang ingin Anda tampilkan dan gaya di Geoserver. Ini berarti bahwa dari setiap file kml, Anda akan mendapatkan beberapa file tergantung pada klasifikasi jenis objek Anda.

Bukan pekerjaan yang mudah untuk alat-alat di luar rak. Mudah-mudahan, jika semua 2.500 kml file dibuat dengan aplikasi yang sama, mereka akan memiliki struktur yang sama. Dalam hal ini, Anda akan memerlukan analisis rinci tentang struktur ini dan banyak skrip khusus.

pengguna73203
sumber
1

Buka kml dan lihat di dalamnya kedengarannya seperti yang Anda inginkan adalah data karena poster lain telah menyarankan gaya tidak ada pada kartu sehingga masalah Anda adalah konversi semua file yang pada dasarnya hanya file teks belajar beberapa python

kemudian retas sesuatu seperti ini ke dalam bentuk: https://gist.github.com/linwoodc3/0306734dfe17076dfd34e09660c198c0

keith
sumber