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

Ошибка ogr2ogr при конвертации данных из mif в shp

Добавлено: 28 ноя 2008, 09:16
dctabuyz
ну т.е. он конвертирует, но только около 10% всех полигонов.

конвертирую так: ogr2ogr.exe -skipfailures 500-out 500 2> out

в файле out примерно такой вывод:
---8<---
ERROR 1: Attempt to write non-polygon (LINESTRING) geometry to type shapefile.
ERROR 1: Attempt to write non-polygon (POINT) geometry to type shapefile.
ERROR 1: Attempt to write non-polygon (POINT) geometry to type shapefile.
ERROR 6: Error during reading Geometry.
---8<---

кто-нить с таким сталкивался? исходные данные во вложении.

ps: GDAL 1.5

Re: Ошибка ogr2ogr при конвертации данных из mif в shp

Добавлено: 28 ноя 2008, 13:07
Denis Rykov
ERROR 1: Attempt to write non-polygon (LINESTRING) geometry to type shapefile.

This error occurs in the shapefile writer if another object appears from an input stream and the geometry types is not the same as in the first object
Ошибка возникает в случае попадания во входной поток объекта с типом геометрии, отличным от первого сконвертированного. Попробуйте явно указать тип геометрии shp и сконвертировать объекты различных типов в различные файлы:

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

ogr2ogr -skipfailure -f "ESRI Shapefile" -nlt POINT point.shp bld.mif
ogr2ogr -skipfailure -f "ESRI Shapefile" -nlt LINESTRING line.shp bld.mif
ogr2ogr -skipfailure -f "ESRI Shapefile" -nlt POLYGON poly.shp bld.mif
В архиве результат конвертации.

Re: Ошибка ogr2ogr при конвертации данных из mif в shp

Добавлено: 28 ноя 2008, 13:13
dctabuyz
спасибо большое! только на количестве сконвертированных полигонов это не сказывается. их по-прежнему менее 10% от исходных.

Re: Ошибка ogr2ogr при конвертации данных из mif в shp

Добавлено: 28 ноя 2008, 21:57
Максим Дубинин
кажется таки mif битый
вот что Universal Translator из Mapinfo 7.8 выдает
Feature Manipulation Engine 2004 (MapInfo UniversalTranslator) (20040611 - Build 1322)

Machine host name is: hostname
FME Session Duration: 0.4 seconds.

Hit end of file in file `C:\temp\3\bld.mif' when searching for DATA keyword
Program Terminating

Translation FAILED.
Unable to generate mapping file.

Re: Ошибка ogr2ogr при конвертации данных из mif в shp

Добавлено: 28 ноя 2008, 22:03
dctabuyz
ну ясно... не зря таки конвертер написал :-D он нормально кушает такое

Re: Ошибка ogr2ogr при конвертации данных из mif в shp

Добавлено: 28 ноя 2008, 22:33
Максим Дубинин
получается, что конвертер этот подходит для специальных mif-ов
откуда они?

Re: Ошибка ogr2ogr при конвертации данных из mif в shp

Добавлено: 28 ноя 2008, 22:48
dctabuyz
ну он, надеюсь, подходит для всяких мифов, в том числе, как выяснилось, для кривых :)
мне делали выгрузку данных из ГИС Ингео. я не хочу сказать что Ингео криво выгружает, думаю, с этими данными еще что-то сделали, может как-то вручную отредактировали...

Re: Ошибка ogr2ogr при конвертации данных из mif в shp

Добавлено: 28 ноя 2008, 23:20
Максим Дубинин
можешь попробовать вот этот наборчик своим скриптом сконвертировать?

Re: Ошибка ogr2ogr при конвертации данных из mif в shp

Добавлено: 29 ноя 2008, 11:44
dctabuyz
да, конечно! результат во вложении. командная строка для скрипта:
perl mif2pg.pl --before "set client_encoding=windows1251;" --mif L720302.MIF --mid L720302.MID --table l720302 -o L720302.SQL

Re: Ошибка ogr2ogr при конвертации данных из mif в shp

Добавлено: 29 ноя 2008, 21:51
Максим Дубинин
спасибо, вроде все ок
нашел одну из ошибок в mif/mid - в оригинале
Columns 12
id Char(12)
title Char(64)
Data
Разумеется парсер не может найти Data, ведь он ищет 12 полей, которых на самом деле 2. Исправление на 2 помогает UT правильно конвертировать, надо бы OGR проверить.

Re: Ошибка ogr2ogr при конвертации данных из mif в shp

Добавлено: 30 ноя 2008, 04:27
Максим Дубинин
проверил, OGR выпадает, причем выяснил где именно, вот здесь:
Text
""
-1607.10886261090784 -9.31495897050048896 -1606.60886261090784 -8.81495897050048896
Font ("Arial CYR",2,0,0)
Angle 70
Если "" заменить на любой текст, например "test", то идет дальше.
Закинул в багтрэкер GDAL/OGR баг.

Re: Ошибка ogr2ogr при конвертации данных из mif в shp

Добавлено: 30 ноя 2008, 10:20
dctabuyz
круто! но и это еще не все! :) по-прежнему конвертируется меньше половины. во волжениях три картинки: как было (до фикса mif), как сейчас (после фикса mif) и как должно быть.

Re: Ошибка ogr2ogr при конвертации данных из mif в shp

Добавлено: 30 ноя 2008, 12:00
dctabuyz
хе! просто проблема повторялась несколько раз. исправил все и заработало! а жаль :-D

Re: Ошибка ogr2ogr при конвертации данных из mif в shp

Добавлено: 17 дек 2008, 20:23
Максим Дубинин
исправлена ошибка, ждем новую версию GDAL/OGR