Конвертация kml в shp

Ответить
Nule
Завсегдатай
Сообщения: 276
Зарегистрирован: 26 дек 2011, 12:26
Репутация: 3

Конвертация kml в shp

Сообщение Nule » 02 ноя 2012, 13:06

Здравствуйте!
Есть векторный слой в формате kml с wikimapia (образец во вложении, объекты точки и линии).
Пытаюсь конвертировать его в шейп при помощи ogr.
Получаю вот такие ошибки:
C:\1\Wiki>"C:\Program Files (x86)\FWTools2.4.7\bin\ogr2ogr.exe" -f "ESRI Shapefi
le" output.shp C:\1\Wiki\1.kml
ERROR 6: Geometry type of `3D Geometry Collection' not supported in shapefiles.
Type can be overridden with a layer creation option
of SHPT=POINT/ARC/POLYGON/MULTIPOINT/POINTZ/ARCZ/POLYGONZ/MULTIPOINTZ.

ERROR 1: Terminating translation prematurely after failed
translation of layer Layer #0 (use -skipfailures to skip errors)

Т.е. это трёхмерный kml, а ogr не знает, что такое Point ZM, или я неправильно понимаю?
И самое главное, что с этим можно сделать?
GlobalMapper этот kml открывает и в shp сохраняет. Т.е. вроде как и ogr должен уметь.
Спасибо!
Вложения
wiki.zip
(35.12 КБ) 436 скачиваний
Последний раз редактировалось Nule 30 ноя 2012, 15:33, всего редактировалось 1 раз.

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Конвертация kml в shp

Сообщение Voltron » 02 ноя 2012, 13:23

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

Nule
Завсегдатай
Сообщения: 276
Зарегистрирован: 26 дек 2011, 12:26
Репутация: 3

Re: Конвертация kml в shp

Сообщение Nule » 02 ноя 2012, 13:44

Voltron писал(а):Вам же черным по английски написали, не поддерживаются 3D геометрии. Надо указывать тип выходного файла, задавая параметр SHPT
И какой мне задавать, если у меня и точки, и линии? Надо как-то разделить сначала на 2 шейпа.

Попробовал вот так: ogr2ogr.exe" -where "OGR_GEOMETRY='Point'" -f "ESRI Shapefile" -f "ESRI Shapefile" SHPT=POINTZ output.shp 1.kml

FAILURE:
Unable to open datasourse 'SHPT=POINTZ' with the following drivers.
.....

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Конвертация kml в shp

Сообщение Voltron » 02 ноя 2012, 14:32

Лень разбираться с вашим KML. Вот костыльный вариант с промежуточным преобразованием

Код: Выделить всё

ogr2ogr -f "MapInfo File" tmp.mif 1.kml
ogr2ogr -f "ESRI Shapefile" -nlt "POINT" -skipfailures points.shp tmp.mif
ogr2ogr -f "ESRI Shapefile" -nlt "LINESTRING" -skipfailures lines.shp tmp.mif

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Конвертация kml в shp

Сообщение Максим Дубинин » 02 ноя 2012, 15:10

еще примеры для форматов с несколькими типами геометрий
пристегивайтесь, турбулентность прямо по курсу

Nule
Завсегдатай
Сообщения: 276
Зарегистрирован: 26 дек 2011, 12:26
Репутация: 3

Re: Конвертация kml в shp

Сообщение Nule » 06 ноя 2012, 17:29

Voltron писал(а):Лень разбираться с вашим KML. Вот костыльный вариант с промежуточным преобразованием

Код: Выделить всё

ogr2ogr -f "MapInfo File" tmp.mif 1.kml
ogr2ogr -f "ESRI Shapefile" -nlt "POINT" -skipfailures points.shp tmp.mif
ogr2ogr -f "ESRI Shapefile" -nlt "LINESTRING" -skipfailures lines.shp tmp.mif
А как это реализовать на питоне? Есть готовые функции или надо создавать файл в нужном формате и переносить в него данные?

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Конвертация kml в shp

Сообщение Voltron » 06 ноя 2012, 20:01

Nule писал(а):А как это реализовать на питоне?
Почитать документацию, представить алгоритм, открыть текстовый редактор и реализовать

Ответить

Вернуться в «GDAL/OGR»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 11 гостей