Страница 1 из 1

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

Добавлено: 02 ноя 2012, 13:06
Nule
Здравствуйте!
Есть векторный слой в формате 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 должен уметь.
Спасибо!

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

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

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

Добавлено: 02 ноя 2012, 13:44
Nule
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.
.....

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

Добавлено: 02 ноя 2012, 14:32
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

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

Добавлено: 02 ноя 2012, 15:10
Максим Дубинин
еще примеры для форматов с несколькими типами геометрий

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

Добавлено: 06 ноя 2012, 17:29
Nule
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
А как это реализовать на питоне? Есть готовые функции или надо создавать файл в нужном формате и переносить в него данные?

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

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