Страница 1 из 1
OGR, Python, S57
Добавлено: 16 июл 2015, 14:48
Andrey Zhukov
Пытаюсь через Python работать с S57.
Проблема: атрибуты NOBJNM и NINFOM вытаскиваются до первого пробела. SeeMeENC и Панорама читают без проблем.
При открытии файлов в QGIS встречается все та же проблема. Пробовал QGIS 2.8, 2.10 и NextGIS QGIS 15.3.
Возможно, помогли бы Control Options (
http://www.gdal.org/drv_s57.html), но как их вписывать в Питон, я ума не приложу.
Re: OGR, Python, S57
Добавлено: 16 июл 2015, 14:56
Александр Мурый
Из
офиц. туториала насчёт "Control Options":
Код: Выделить всё
src_ds = gdal.Open( src_filename )
dst_ds = driver.CreateCopy( dst_filename, src_ds, 0,
[ 'TILED=YES', 'COMPRESS=PACKBITS' ] )
Re: OGR, Python, S57
Добавлено: 16 июл 2015, 15:01
Andrey Zhukov
Вопрос про ogr, а не про gdal

Re: OGR, Python, S57
Добавлено: 16 июл 2015, 15:20
Александр Мурый
Andrey Zhukov писал(а):Вопрос про ogr, а не про gdal

Извиняйте. Ну тогда можно пробовать методы
CreateDataSource или
CopyDataSource с параметром "papszOptions".
Цитирую доки:
Re: OGR, Python, S57
Добавлено: 16 июл 2015, 15:38
Andrey Zhukov
papszOptions - это ж для сишного кода...
А в питоне CopyDataSource никаких параметров и не подразумевает. Тем более, мне же открыть надо с параметрами, а не сохранить.
Re: OGR, Python, S57
Добавлено: 16 июл 2015, 16:11
Andrey Zhukov
Победил!
Все-таки ogr управляется через gdal.
Данные нормально стали отдаваться с опцией RECODE_BY_DSSI=ON.
Параметр скармливается так:
Код: Выделить всё
gdal.SetConfigOption('OGR_S57_OPTIONS', 'RECODE_BY_DSSI=ON')