У меня есть файл KML с сотнями точек. Для каждой точки есть информация, такая как Имя, Мощность, Возраст (это карта гидроэнергетических установок). Если я импортирую этот файл KML в QGIS, эта информация будет потеряна.
Есть ли способ сохранить эту информацию?
Информация выглядит так:
<ExtendedData>
<SchemaData schemaUrl="#vorlage">
<SimpleData name="Name">Test</SimpleData>
<SimpleData name="Power">10895</SimpleData>
<SimpleData name="Location">L</SimpleData>
</SchemaData>
</ExtendedData>
Что-то не так с моим кодом?
.kml
в QGIS? Этот формат поддерживается как один из основных форматов, поэтому добавлениеkml
файла в качестве слоя должно быть относительно безболезненным . Если вы предоставите более подробную информацию, кто-то может помочь выяснить, что происходит не так. Также может быть полезна информация об источнике файла.Ответы:
ExtendedData не имеет правильных значений «name».
Например
не импортируется GDAL и Qgis Master, в то время как
импортируется.
Вы можете изменить это с помощью хорошего текстового редактора.
------------------- Добавлено Miro ---------------------
Для редактирования KML необходимо использовать текстовый редактор, который позволяет использовать «Regular Expression» в функции Replace, такой как PSPad (или Notepad ++ и многие другие бесплатные текстовые редакторы).
Найти:
<Data><displayName>(.*)</displayName>
Заменить:
<Data name="$1"><displayName>$1</displayName>
После этого просто используйте QGIS (ключ «новая» версия - включая GDAL версии 1.9.2 и далее) и «Добавить векторный слой», и слой загрузится со всеми «ExtendedData».
источник
Я преобразовал один из влажных файлов с помощью globalmapper в форму: приложил два скриншота из преобразованных dbf-файлов (областей и линий):
надеюсь, это то, что вы хотите ..
источник
Вы можете использовать программное обеспечение Global Mapper, в котором вы можете легко экспортировать / импортировать файлы kml / kmz + прикреплять данные и множество векторных и растровых форматов. Это одна из лучших программ.
http://www.bluemarblegeo.com/global-mapper/product/formats.php
источник
Похоже, что Google libkml не поставляется с GDAL 1.9.2 в Ubuntu, в частности, с gdal-bin 1.9.2-2 ~ precision4:
Чтобы получить версию, работающую с libkml и
ExtendedData
поддержкой, мне нужно было собрать GDAL из ствола svn (r25473) после сборки libkml из ствола svn (r864), особо отметив, что версии 1.2.0 явно недостаточно, как описано на веб-сайте GDAL. , Помните, чтоlibkml0
точная установка на Ubuntu (в настоящее время 1.2.0-1ubuntu6) не поможет. Тебе действительно нужен багажник 1.3 или svn, для которого я не смог найти PPA.В конечном итоге я не смог даже собрать libkml на Ubuntu точно; Есть ошибки типа в версии boost, которая поставляется вместе с ней, и есть ошибки при запуске libtool, поскольку зависимости вышли из строя. По какой-то причине, это не было проблемой при сжатии Debian, где я преуспел:
После того, как я получил это, запуск
ogr2ogr -f "ESRI Shapefile" foo.shp foo.kml
дал мне шейп-файл, который qgis смог импортировать, сохранивExtendedData
атрибуты.источник
Драйвер Ogr2ogr kml, используемый Qgis 1.8.0 Lisboa, не поддерживает теги kml ExtendedData.
Драйвер LIBKML делает это, он включен в версию 1.9.2 GDAL, пакеты OSGEO4W, MS4W и Qgis Master.
Ваши данные не ошибаются, но у драйвера LIBKML в OSGeo4W были некоторые проблемы со SchemaData. В качестве альтернативы, следующие работы:
РЕДАКТИРОВАТЬ: ошибка SchemaData теперь исправлена в пакете GGEAL 1.9.2-2 OSGEO4W.
источник
Использование FME 2012 (SP4)
Загрузите Читатель KML
Выберите писателя (шейп-файл)
соединить элементы и выбрать запись ( скопировать атрибуты из типов объектов )
Запустите рабочее пространство
источник
Вы могли бы попробовать kml2shp ?
У них также есть новый онлайн-конвертер .
источник
Я не знаю, вы можете достичь этого с QGIS. В MapWindow есть плагин KML2Shapefile .
Кстати, MapWindow - это бесплатный ГИС-пакет с открытым исходным кодом. Вы можете скачать и установить его бесплатно. Вы можете преобразовать KML в шейп-файл с помощью плагина KML2Shapefile в MapWindow и просто загрузить полученный файл формы в QGIS. Предполагая, что вы все равно на Windows.
Лучшее решение, которое я могу придумать на данный момент. Я надеюсь, что кто-нибудь знает плагин для этого в QGIS.
источник
Получите Global Mapper, все, что вам нужно сделать, это ввести KMZ или KML, а затем экспортировать Vector IMG (файл ESRI SHP). Global Mapper может читать большинство типов файлов. Затем откройте фигуру в ARC, Global Mapper, Manifold, QGIS, ect и просмотрите таблицу атрибутов. Вся информация будет там. на этом этапе вы также можете открыть файл DBF из SHP в Microsoft Excel, а затем сохранить его как расширение файла XLXS, если хотите.
источник
В QGIS 3.2.0 преобразование может быть легко выполнено с помощью панели инструментов.
Выберите на панели инструментов -> GDAL -> Преобразование вектора -> Преобразовать формат .... (Caja de Herramientas de Procesos -> GDAL -> Векторная трансляция -> Формат преобразования)
Выберите файл KML, сохраните как файл SHP. Мне также пришлось изменить файл результатов («Преобразованный») в Свойствах -> Источник (вкладка) -> Кодирование источника с «UTF-8» на «Windows-1258», чтобы правильно видеть испанские символы.
источник