Імпорт KML та інформації про стиль у Geoserver


9

Тож я працюю над проектом, який розроблявся понад рік, але я нещодавно долучився до цього. Моя задача передбачає перетворення приблизно 2500 KML файлів в інший формат, імпорт цих файлів у Geoserver, а потім копіювання через пов'язану інформацію стилю для кожного файлу. Я усвідомлюю, що Geoserver дозволяє імпортувати файли KML безпосередньо, однак, наші файли ніколи не відображаються правильно, і мій начальник хотів би відійти від формату KML з філософських причин.

Використовуючи ogr2ogr, я намагався перетворити ці файли в ESRI Shapefiles, однак процес перетворення працював лише приблизно на третину файлів і видалив деякі метадані, закликані в інформації про стиль. Файли, які не перетворили код для полігонів і точок, які я прочитав, можуть бути помилкою для інших програм, таких як QGIS.

Я також намагався помістити всі файли KML в базу даних PostGIS і перетворити їх так. Однак це, здається, видаляє всі дані, залишаючи по суті порожні таблиці для імпорту.

TL; DR Мені потрібно знайти спосіб конвертувати 2500 KML файлів у формат, який може використовувати Geoserver, і він буде працювати з інформацією про стиль XML. Я повна GIS noob, і це моя перша публікація, тому мені шкода, якщо це здається трохи смішним.


Чи по суті стиль однаковий для всіх файлів KML чи всі вони абсолютно різні? Якщо перший, можливо, ви можете просто прокатати файл стилю (або набір файлів) для GeoServer, який використовує SLD (формат на основі XML).
nmtoken


Я не знаю, де я можу задати це питання, але я впевнений, що ви знаєте мою відповідь. Чи потрібно взагалі завантажувати KML як новий джерело даних на GeoServer? @samane
Mostafa Fallah

Відповіді:


1

У GeoServer дані та стиль розділені, їх неможливо змішати. Ви можете автогенерувати SLD. Поки що я не знаю, чи існує перетворювач для стилю kml в стиль геосервера.


1

По-перше, стиль Geoserver (SLD) та дані (KML) абсолютно різні. Імпортуйте файл KML в Geoserver і пізніше, створіть файл SLD в редакторі стилів або створіть стиль у переглядачі (наприклад, Mapfishapp), а потім збережіть .sld файл, щоб легко отримати sld без запису в XML (складніше зрозуміти класифікацію або інший специфічний стиль, коли якась система це легко реалізує).

Пізніше я використовував KML-файли, щоб зберегти дані GIS і весь час, я втратив атрибут (= дані втрачені). KML просто зберігайте геометричну інформацію. Краще зберегти свої nativ дані в іншому форматі (атрибут CSV Keep) або просто створити таблицю даних і після цього надати географічну інформацію або безпосередньо створити шар. (форм-файл, Csv ...).

Я сподіваюся, що я допоможу вам ...


1

Додаткова інформація у файлі kml, який ви хочете використовувати, і яку ви називаєте "метадані", може міститись в жаргоні KML:

  1. Стилі та стильові карти
  2. ExtendedData
  3. Спеціальна інформація у полі Опис позначки місця, як правило, у вигляді таблиць html

Оскільки кожен файл kml є файлом ASCII, його можна обробити за допомогою сценарію обробки тексту. Згідно з моїм розумінням, для кожного типу об’єктів, які ви хочете представити та стилювати в Geoserver, повинен бути створений окремий "шар". Це означає, що з кожного kml-файлу ви отримаєте кілька файлів залежно від класифікації типів об'єктів.

Не проста робота для позаштатних інструментів. Будемо сподіватися, що якщо всі 2.500 кмл файли будуть створені з однією програмою, вони матимуть однакову структуру. У цьому випадку вам знадобиться детальний аналіз цієї структури та безліч спеціальних сценаріїв.


1

Відкрийте kml і загляньте всередину. Це звучить як все, що ви справді хочете, - це дані, оскільки інші афіші пропонують, що стилів немає на картках, тому ваша проблема полягає в перетворенні всіх файлів, які, по суті, є лише текстовими файлами, вивчають певний пітон

то зламайте щось подібне до форми: https://gist.github.com/linwoodc3/0306734dfe17076dfd34e09660c198c0

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.