Импорт KML и информации о стиле в Geoserver


9

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

Используя ogr2ogr, я попытался преобразовать эти файлы в шейп-файлы ESRI, однако процесс преобразования сработал только примерно на трети файлов и удалил некоторые метаданные, требуемые в информации о стиле. Файлы, которые не преобразовывают код для многоугольников и точек, которые я прочитал, могут быть ошибкой для других программ, таких как QGIS.

Я также попытался поместить все файлы KML в базу данных PostGIS и преобразовать их таким образом. Однако это, кажется, удаляет все данные, оставляя практически пустые таблицы для импорта.

TL; DR Мне нужно найти способ конвертировать 2500 KML-файлов в формат, используемый Geoserver, и работать с информацией в стиле XML. Я полный ГИС Noob, и это мой первый раз, так что извините, если это кажется немного смешным.


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


Я не знаю, где я могу задать этот вопрос, но я уверен, что вы знаете мой ответ. Есть ли здесь возможность загрузить KML в качестве нового источника данных на GeoServer? @samane
Мостафа

Ответы:


1

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


1

Во-первых, стиль Geoserver (SLD) и данные (KML) полностью отличаются. Импортируйте файл KML в Geoserver и позже, создайте файл SLD в редакторе стилей или создайте стиль в средстве просмотра (например, Mapfishapp) и затем сохраните файл .sld, чтобы легко получить sld без записи в XML (сложнее реализовать классификацию или другой специфический стиль, когда какая-то система это легко реализует).

Позже я использовал файлы KML для сохранения данных ГИС и все время терял атрибут (= данные потеряны). KML просто хранит информацию о геометрии. Лучше сохранить свои нативные данные в другом формате (атрибут CSV keep) или просто создать таблицу данных и после этого предоставить географическую информацию или непосредственно создать слой. (шейп-файл, CSV ...).

Я надеюсь, что помогу тебе ...


1

Дополнительная информация в файле kml, которую вы хотите использовать и называете «метаданными», может быть в жаргоне KML:

  1. Стили и карты стилей
  2. ExtendedData
  3. Пользовательская информация в поле «Описание метки», обычно в виде HTML-таблиц.

Поскольку каждый файл kml является файлом ASCII, его можно обработать с помощью сценария обработки текста. Согласно моему пониманию, отдельный «слой» должен быть создан для каждого типа объекта, который вы хотите представить и стилизовать в Geoserver. Это означает, что из каждого файла kml вы получите несколько файлов в зависимости от вашей классификации типов объектов.

Не простая работа для готовых инструментов. Надеемся, что если все файлы 2.500 кмл будут созданы в одном приложении, они будут иметь одинаковую структуру. В этом случае вам потребуется подробный анализ этой структуры и множество пользовательских сценариев.


1

Откройте kml и загляните внутрь, это звучит так, как будто все, что вам действительно нужно, - это данные, так как другие авторы предложили, что стили не на картах, поэтому ваша проблема заключается в преобразовании всех файлов, которые по сути являются просто текстовыми файлами, изучают некоторый Python

затем взломайте что-то вроде этого в форму: https://gist.github.com/linwoodc3/0306734dfe17076dfd34e09660c198c0

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.