Чтение S-57. С чего начать?

Вопросы по нескольким пакетам сразу, или вопросы, которые непонятно к какой ГИС отнести
Ответить
Vitaly1988
Новоприбывший
Сообщения: 6
Зарегистрирован: 13 дек 2011, 08:20
Репутация: 0

Чтение S-57. С чего начать?

Сообщение Vitaly1988 » 13 дек 2011, 09:40

Здравствуйте! Нужно написать программу чтения и отображения навигационных карт формата S-57 так, как это делает, например, OpenCPN или SeeMyENC из SevenCS, но не так, как это делает QGis. Еще нашел программу GHelm , которая вроде читает карты с помощью iso8211lib, но судя по скриншотам отображает их совсем не в соответствии со стандартом и явно не всё. Прочел эту статью - и вконец запутался. Подскажите, для начала, есть ли вообще свободные библиотеки, корректно читающие S-57? Какие? И нужно ли мне изучить стандарт S-57 для решения моей задачи или можно это пропустить как задачу низкого уровня и изучать что-то более высокоуровневое? Спасибо.

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

Re: Чтение S-57. С чего начать?

Сообщение Voltron » 13 дек 2011, 11:02

Для начала: чем GDAL не устраивает?

Vitaly1988
Новоприбывший
Сообщения: 6
Зарегистрирован: 13 дек 2011, 08:20
Репутация: 0

Re: Чтение S-57. С чего начать?

Сообщение Vitaly1988 » 13 дек 2011, 11:22

GDAL- то есть OGR? QGis, который, как я понимаю, работает с использованием этих библиотек, отображает карты некорректно. В чем тут проблема, в QGis или в OGR? Если в QGis - то спасибо за подсказку)

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

Re: Чтение S-57. С чего начать?

Сообщение Voltron » 13 дек 2011, 11:29

Есть ли проблема сразу сказать не могу. Возможно, ее вообще нет, просто нужны дополнительные действия по настройке отображения.
В чем именно проявляется некорректность отображения в QGIS? Желательно с примером файла и примером корректного отображения в другом ПО.

Vitaly1988
Новоприбывший
Сообщения: 6
Зарегистрирован: 13 дек 2011, 08:20
Репутация: 0

Re: Чтение S-57. С чего начать?

Сообщение Vitaly1988 » 13 дек 2011, 13:27

В прикрепленном архиве сама карта s-57, скриншот ее отображения в программе SeeMyENC(правильное отображение), и скриншот в QGis. Тут почему-то запрещено выкладывать карты S-57... ?
Вложения
maps.zip
(146.75 КБ) 1065 скачиваний

Vitaly1988
Новоприбывший
Сообщения: 6
Зарегистрирован: 13 дек 2011, 08:20
Репутация: 0

Re: Чтение S-57. С чего начать?

Сообщение Vitaly1988 » 13 дек 2011, 15:16

OGR вроде подходит для парсинга файла.

ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

Re: Чтение S-57. С чего начать?

Сообщение ericsson » 13 дек 2011, 15:48

Для парсинга геометрии дофига чего подходит, а вот символика там довольно сложная, при том стандартизированная. Вот её и нет в кугисе. И не уверен, что всё можно решить одной только символикой.

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

Re: Чтение S-57. С чего начать?

Сообщение Voltron » 13 дек 2011, 16:54

Посмотрел. Похоже, дело только в символике, все имеющиеся слои определяются, насколько могу судить, правильно. ИМХО, такой подход имеет свои плюсы. Если символика действительно стандартизирована и едина для всех файлов этого формата (в чем я сомневаюсь) можно сделать набор символов для QGIS и она тоже будет открывать файлы так же

ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

Re: Чтение S-57. С чего начать?

Сообщение ericsson » 13 дек 2011, 18:14

Все как раз стандартизировано.
http://www.iho.int/iho_pubs/IHO_Download.htm
символы описаны в S-4 "REGULATIONS OF THE IHO FOR INTERNATIONAL (INT) CHARTS AND CHART SPECIFICATIONS OF THE IHO" (аналогичные данные, но в чуть более простой форме, изложены вот тут http://www.nauticalcharts.noaa.gov/mcd/chartno1.htm )
Кое-что может быть в документах S-52 и собственно S-57.
Некая трактовка стандартов может быть, возможно, только в выборе конкретных RGB значений для цветов. Но даже они где-то есть.
Добавлю (это, по-моему, важно): тестовые датасеты лежат тут http://www.iho.int/iho_pubs/standard/S- ... _intro.htm вместе с референсными pdf (по ссылке внизу).

Konstantin Tokar
Активный участник
Сообщения: 178
Зарегистрирован: 16 июл 2008, 09:56
Репутация: 1
Откуда: Москва

Re: Чтение S-57. С чего начать?

Сообщение Konstantin Tokar » 13 дек 2011, 19:17

Vitaly1988 писал(а):Здравствуйте! Нужно написать программу чтения и отображения навигационных карт формата S-57 так, как это делает, например, OpenCPN или SeeMyENC из SevenCS, но не так, как это делает QGis.
А сам OpenCPN не пробовали использовать?

Vitaly1988
Новоприбывший
Сообщения: 6
Зарегистрирован: 13 дек 2011, 08:20
Репутация: 0

Re: Чтение S-57. С чего начать?

Сообщение Vitaly1988 » 13 дек 2011, 19:46

ericsson писал(а):Все как раз стандартизировано.
Легче не стало, скорее наоборот. Зато теперь знаю, куда копать - за это спасибо.
Konstantin Tokar писал(а): А сам OpenCPN не пробовали использовать?
OpenCPN - это программа с открытым кодом, не библиотека. А я не настолько высококлассный программист(только начинающий изучать С++), чтобы разобраться в его исходниках и перенести нужное в свою программу. Хотя, сейчас посмотрел, там тоже GDAL/OGR используют. Исходники, конечно, пригодятся, но свое приложение мне легче писать с нуля. )

ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

Re: Чтение S-57. С чего начать?

Сообщение ericsson » 13 дек 2011, 19:51

Собственно, прочесть структуры формата - не проблема.
Проблема - показать все это, при том сделать это правильно. А то получится, действительно, как в кугисе в нынешнем виде. Там один знак "маяк" чего стоит.

Vitaly1988
Новоприбывший
Сообщения: 6
Зарегистрирован: 13 дек 2011, 08:20
Репутация: 0

Re: Чтение S-57. С чего начать?

Сообщение Vitaly1988 » 27 янв 2012, 12:53

Показать получилось с использованием библиотеки libS52 из пакета OpenEV. Эту же библиотеку, но с некоторыми изменениями, использовали в OpenCPN.

Storkur
Новоприбывший
Сообщения: 1
Зарегистрирован: 14 авг 2014, 12:52
Репутация: 0

Re: Чтение S-57. С чего начать?

Сообщение Storkur » 14 авг 2014, 12:56

Добрый день.
Мне тоже надо сделать приложение отображающие карты формата S-57, если я правильно понял то для чтения S-57 вы использовали OGR, а для отображения libS52?

Ответить

Вернуться в «Общий - ПО»

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

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