Мої користувачі надсилають мені точкові дані, які були оцифровані за допомогою Google Earth.
Як я можу конвертувати їх KML у файл форми?
Мої користувачі надсилають мені точкові дані, які були оцифровані за допомогою Google Earth.
Як я можу конвертувати їх KML у файл форми?
Відповіді:
Використання відкритого джерела ogr2ogr
від GDAL / OGR :
ogr2ogr -f 'ESRI Shapefile' output.shp input.kml
ArcGIS 10 має інструмент GP, який називається KML To Layer, який перетворює KML у клас функцій. Шукайте KML за допомогою нового пошуку. Я використовував це, щоб дістати канали розливу нафти у Google від Google і перетворити їх на SHP.
KML до шару може створювати лише клас об’єктів бази даних геоданих, щоб після цього потрібно було виконати крок класу ознак до класу ознак, щоб перетворити його у файл форми.
Використовуйте ogr2ogr, але якщо вас не цікавить командний рядок, спробуйте ogr2gui - дійсно простий передній кінець для ogr2ogr.
Для використання просторових даних, опублікованих у форматі KML або KMZ у ArcGIS, спочатку слід перетворити KML у клас функцій (shapefile). Університет Коннектикуту опублікував сценарій для створення форм-файлів з KML під назвою KML_to_Shp.tbx. Він працює досить добре, і ви можете використовувати його з ArcToolbox. Оскільки KML завжди (повинен) знаходитись у географічних координатах (WGS84), ви з часом захочете перетворити їх у зону UTM 15N NAD83 ...
Як і у всіх нових інструментах, ознайомтеся з документацією до використання. Це можна знайти на веб-сайті Центру освіти та досліджень землекористування UCONN. Після того, як ви додасте його до панелі інструментів і зрозумієте його обмеження, цей інструмент буде використаний дуже просто.
Якщо вас цікавлять інструменти командного рядка, ви можете використовувати GDAL / OGR від OSGEO.
Ще одним комерційним продуктом, який згадується, є Global Mapper . Це підпадає під категорію перегляду, перетворення, перепроектування майже будь-яких географічних даних, які ви можете собі уявити. Я дуже використовую безкоштовну версію в класі, якому я навчаю, і майже кожен відходить, коментуючи, як це швейцарський армійський ніж інструментів ГІС (хоча безкоштовна версія не робить перекладів, вона відкриває всі меню та параметри). Ну варто варті мого досвіду.
Ще кілька варіантів на додаток до інших відповідей ...
Додаток fdo2fdo SL-King , який використовує бібліотеки FDO з відкритим кодом, дозволяє виконувати KML в SHP та візуально перекладати візуально . Він включає як графічний інтерфейс (який виражає переклади формату до формату, так і більш налаштовані схеми зіставлення перекладів), а також інструмент командного рядка.
Для власницьких програм FME безпечного програмного забезпечення дає вам чудовий контроль над тим, як відображати вихідну інформацію в пункт призначення. Якщо у вас є 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-файлів від користувачів.
~ СРГ
використовуйте OGR для управління командним рядком, Google Планета Земля Pro дасть вам графічний спосіб перетворення, як і різноманітні інші програми
ET GeoWizards також має опцію імпорту з Google Планета Земля, яка конвертуватиме файли KML або KMZ у клас функцій. > http://www.ian-ko.com/ET_GeoWizards/gw_MainFeatures.htm
Якщо ви шукаєте опцію з відкритим кодом, я бачу, що MapWindow було лише оновлено, і є кілька плагінів для перетворення в KML і KM2 та formfile.
Open Source MapWindow ГІС має вільне розширення ( KML2Shapefile ) для перетворення KML / KMZ файлів в шейпфайл.
Якщо у вас є розширення interop, просто завантажте цей KML прямо в ArcMap та експортуйте в shp.
Хоча зворотний відповідь на ваш Q, якщо хтось прийшов сюди, щоб зробити навпаки, я вважаю цей сценарій ідеальним для переходу від SHP -> KML http://arcscripts.esri.com/details.asp?dbid=14273
Якщо ви хочете конвертувати ваші файли в Інтернеті, спробуйте формати GIS MyGeodata та конвертер системи координат . Він заснований на ogr2ogr (бібліотека gdal / ogr) - тому підтримуються майже всі відомі GIS-формати та системи координат ...
Інтернет-конвертер KML для Shapefile Zonum Solutions також добре працює:
Кілька варіантів, які я не бачив у жодній із відповідей, щоб додати додаткові ресурси для перетворення KML в SHP, були б наступними:
Онлайн-перетворювач формату мови розмітки Keyhole в формат ESRI Shapefile (KML в SHP) - це швидкий і простий у використанні інструмент як для індивідуальних, так і для пакетних перетворень. Конвертер також підтримує більше 90 інших векторних та растрових форматів GIS / CAD та понад 3 000 систем координат.
Безкоштовна Географія Інструменти охоплює і забезпечує підручник Zonums програмного інструменту
Хороша та проста допомога, яка може дати більш чіткі результати, - це спочатку перетворити 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 Shapefile" "% ~ dpnf.shp" "% f"
Примітка. Він використовуватиме ім'я KML як ім'я файлу форми, тому переконайтеся, що ваші KML мають відповідні формати іменування для shapefiles. Файл форми буде створений у тому самому каталозі, що і відповідний kml. KML в підкаталогах теж буде перетворено у shapefiles.
Для перетворення 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". цей інструмент допоможе вам перетворити у shapefile та KML