Мои пользователи отправляют мне данные о точках, которые были оцифрованы с помощью Google Планета Земля.
Как я могу преобразовать их KML в шейп-файл?
Мои пользователи отправляют мне данные о точках, которые были оцифрованы с помощью Google Планета Земля.
Как я могу преобразовать их KML в шейп-файл?
Ответы:
Используя открытый исходный код ogr2ogr
из GDAL / OGR :
ogr2ogr -f 'ESRI Shapefile' output.shp input.kml
Как отмечено в комментарии Грего ниже , вам может понадобиться использовать двойные кавычки вместо одинарных кавычек для параметра выходного формата (например, «ESRI Shapefile» для командной строки Windows). Смотрите также GDAL Wiki .
ArcGIS 10 имеет инструмент GP под названием KML To Layer, который преобразует KML в класс пространственных объектов. Ищите KML, используя новый поиск. Я использовал это для того, чтобы получать данные о разливах нефти из Google и конвертировать их в SHP.
KML To Layer может создавать только класс пространственных объектов базы геоданных, поэтому после него необходимо выполнить шаг Класс пространственных объектов в Класс пространственных объектов, чтобы преобразовать его в шейп-файл.
Используйте ogr2ogr, но если вас не интересует командная строка, попробуйте ogr2gui - действительно простой интерфейс для ogr2ogr.
Чтобы использовать пространственные данные, опубликованные в виде файла KML или KMZ в ArcGIS, сначала необходимо преобразовать KML в класс пространственных объектов (шейп-файл). Университет Коннектикута опубликовал скрипт для создания шейп-файлов из KML под названием KML_to_Shp.tbx. Он работает довольно хорошо, и вы можете использовать его из ArcToolbox. Поскольку KML будет (должен) всегда находиться в географических координатах (WGS84), вы в конечном итоге захотите преобразовать их в UTM Zone 15N NAD83 ...
Как и со всеми новыми инструментами, ознакомьтесь с документацией перед использованием. Это можно найти на веб-сайте Центра образования и исследований в области землепользования UCONN. Как только вы добавите его в свой набор инструментов и поймете его ограничения, инструмент станет очень простым в использовании.
Если вы заинтересованы в инструментах командной строки, вы можете использовать GDAL / OGR из OSGEO.
Еще один коммерческий продукт, о котором стоит упомянуть, - Global Mapper . Это относится к категории просмотра, преобразования, перепроектирования практически любых географических данных, которые вы можете себе представить. Я широко использую бесплатную версию в классе, который преподаю, и почти все уходят, комментируя, как это швейцарский армейский нож инструментов ГИС (хотя бесплатная версия не переводит, она раскрывает все меню и опции). Хорошо стоит затрат в моем опыте.
Пара дополнительных вариантов в дополнение к другим ответам ...
Приложение SL-King fdo2fdo , использующее библиотеки FDO с открытым исходным кодом, позволяет выполнять переводы KML в SHP и наоборот. Он включает в себя как графический интерфейс (который выражает переводы формат-формат и более настраиваемые переводы отображения схем), так и инструмент командной строки.
Для соответствующих приложений FME Safe Software дает вам удивительный контроль над тем, как вы отображаете исходную информацию в место назначения. Если у вас есть ArcGIS, вы можете получить к нему доступ через Расширение взаимодействия данных ( список форматов ) за дополнительную плату.
Если бы они были просто точечными объектами без атрибутов, я бы рассмотрел синтаксический анализ XML во что-то, что вы можете легко импортировать как CSV; вы просто ищете данные между тегами координат.
Другой вариант - использовать стороннее расширение XToolsPro, работающее в ArcGIS. Среди множества удобных инструментов преобразования есть функция «Импорт данных из KML».
FME опубликовал бета-версию онлайнового инструмента, который обрабатывает различные типы конверсий, включая эту. http://fmeserver.com/userweb/sharper/Portal/EasyTranslator/index.html Этот конвертер должен действительно помочь вам.
Есть также некоторые другие коммерческие продукты. Arc2Earth приходит на ум. У него довольно хорошая интеграция с ArcGIS Desktop. http://www.arc2earth.com
Вы также можете посмотреть на FME от Safe Software http://www.safe.com
Доступна 14-дневная пробная версия. FME позволяет вам даже сопоставлять атрибуты из вашего файла KML с форматом ESRI SHP во время процесса преобразования / переноса данных, помимо возможности фильтровать точечные файлы KML на основе определенных атрибутов или пространственных экстентов.
Существует также возможность выполнить пакетное преобразование, когда у вас есть большой набор файлов KML от ваших пользователей.
~ SRG
использовать OGR для управления командной строкой, Google Планета Земля Про предоставит вам графический способ конвертации, как и множество других приложений
ET GeoWizards также имеет функцию импорта из Google Earth, которая преобразует файлы KML или KMZ в класс пространственных объектов. > http://www.ian-ko.com/ET_GeoWizards/gw_MainFeatures.htm
Если вы ищете опцию с открытым исходным кодом, я вижу, что MapWindow было только что обновлено, и есть несколько плагинов для преобразования в KML и из KML и шейп-файла.
Open Source MapWindow ГИС имеет бесплатное расширение ( KML2Shapefile ) для преобразования файлов KML / KMZ в шейп-файлы.
Если у вас есть расширение взаимодействия, просто загрузите этот KML прямо в ArcMap и экспортируйте в shp.
Хотя ответ на ваш вопрос противоположен, в случае, если кто-то пришел сюда, чтобы сделать наоборот, я нахожу этот сценарий идеальным для перехода с SHP -> KML http://arcscripts.esri.com/details.asp?dbid=14273
Если вы хотите конвертировать ваши файлы онлайн, попробуйте MyGeodata GIS форматы и конвертер системы координат . Он основан на ogr2ogr (библиотека gdal / ogr) - так что поддерживаются почти все известные форматы ГИС и системы координат ...
Онлайн конвертер KML в Shapefile от Zonum Solutions также хорошо работает:
Вот несколько вариантов, которые я не видел ни в одном из ответов, чтобы добавить дополнительные ресурсы для преобразования KML в SHP:
Онлайн-конвертер формата Keyhole Markup Language в формат ESRI Shapefile (KML to SHP) - это быстрый и простой в использовании инструмент как для индивидуальных, так и для пакетных преобразований. Конвертер также поддерживает более 90 других векторных и растровых форматов ГИС / САПР и более 3000 координатных систем координат.
Бесплатные инструменты географии охватывает и предоставляет учебник по инструменту Zonums Software
Хорошая и простая помощь, которая может дать более четкие результаты, - это сначала преобразовать KML в GPX (есть несколько программ с открытым исходным кодом, которые могут это сделать) и открыть соответствующие данные (GPX имеет 5 различных классов информации: путевые точки, трекпоинты, Маршрутные точки, треки и маршруты) с помощью ogr2ogr из GDAL / OGR в QGIS и сохраните его непосредственно в формате файла .SHP.
Также довольно просто использовать пакетный процесс для большого количества данных (например, используя векторные слои слияния из SAGA) для создания одного файла формы, если это необходимо, и вы также можете очистить пустые атрибуты перед окончательным «Сохранить как SHP».
Обратите особое внимание на систему кодификации, если в конечном результате появляются странные символы ... вы можете выбрать правильный в тот момент, когда добавляете новые векторные данные на карту.
Я опаздываю на вечеринку, но вот несколько дополнительных способов:
Google Fusion Tables позволяет преобразовывать информацию о точках KML в WGS84 X и Y в формате .csv, который затем можно использовать в предпочитаемом программном обеспечении для анализа ГИС.
Использование пакета rgdal в R .:
install.packages("rgdal")
library(rgdal) #load package
kmlfile=readOGR("yourkmlfilehere.kml") #load KML
writeOGR(kmlfile,"yourshapepath",layer="shapename", driver="ESRI Shapefile") #save shape
Другой совет: если вы хотите преобразовать несколько KML-файлов в папке / каталоге одновременно в шейп-файл с помощью командной строки, откройте cmd в папке и введите:
для / R% f в (* .kml) выполните ogr2ogr -f "Шейп-файл ESRI" "% ~ dpnf.shp" "% f"
Примечание. Он будет использовать имя KML в качестве имени шейп-файла, поэтому убедитесь, что ваши KML-файлы имеют надлежащие форматы именования для шейп-файлов. Шейп-файл будет создан в том же каталоге, что и соответствующий kml. KML в подкаталогах также будут преобразованы в шейп-файлы.
Для преобразования KML в формат файла Shp вы можете использовать утилиту ogr2ogr. Во-первых, вам нужно установить его в системе. Если вы уже установили его, используйте в терминале тип ogr2ogr.
Теперь для конвертации данную команду нужно выполнить т.е.
--- ogr2ogr -f 'ESRI Shapefile' Output_sahpefile.shp Input_KML.kml
Вот как ogr2ogr может выполнить преобразование, и если вы не получаете результатов, вы можете преобразовать Kml в shp методом кодирования.
это также можно сделать с помощью PHP. Вы можете создать функцию, которая определила эту команду как строку и может дать эту строку в методе shell_exec () для выполнения. Shell_exec () фактически выполняет команду и возвращает вывод в виде строки.
public function KML_to_shp($KMLfilepath,$output){
$query="ogr2ogr -f 'ESRI Shapefile' $output.gml $KMLfilepath";
shell_exec($query);
}
Вот сообщение для преобразования kml в shp с помощью инструмента командной строки ogr2ogr или с помощью php-кода. Хотя, если вы используете инструмент QGIS, вы можете просмотреть одно из моих сообщений в блоге здесь kml, чтобы конвертировать shp с помощью QGIS, или же продолжить использовать этот пост.
В ArcGIS просто выполните поиск «kml TO LAYER» или «Layer to KML». этот инструмент поможет вам конвертировать в шейп-файл и KML