GDAL, SXF и точность проекции

Ответить
glax2020
Активный участник
Сообщения: 175
Зарегистрирован: 19 ноя 2012, 15:59
Репутация: 6

GDAL, SXF и точность проекции

Сообщение glax2020 » 29 ноя 2014, 14:10

Всех приветствую.

Занимаюсь сравнением на точность слоев карты подготовленныхс помощью Панорама и с помощью драйвера GDAL SXF. И нет уверенности, что получаются слои с помощью драйвера GDAL SXF (+ мои доработки) соответствующей точности по сравнению с Панорамой: может хорошее качество, а может и нет - нет ясности, в этом и причина появления этой темы.

Пред история: программа на основе драйвера GDAL SXF (по моему довольно свежая: основе GDAL - пару месяцев, SXF - последняя по svn версия, proj - последняя по svn версия, geos - последняя рекомендованная версия 3.4.2).

Когда мы выводим из Панорама, то это делается по умолчанию, и опыт подсказывает что это Пулково (Пулково 1942, EPSG 4284 (CoordSys Earth Projection 1, 1001))

Когда с помощью драйвера GDAL SXF ( то это по моему: WGS 84, EPSG 4326 (CoordSys Earth Projection 1, 104)) Для выбора проекции для вывода использую (на основе кода драйвера):

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

OGRSpatialReference oDstSpaRef(SRS_WKT_WGS84);
oDstSpaRef.SetProjection("+proj=utm +zone=36 +datum=WGS84 +units=m +no_defs ");   
Формат для вывода "mif" MapInfo (точность более 10 знаков)

1) В результате если сравнивать слой "soil_a" (layer4_a) подготовленный одновременно с помощью Панорамы и GDAL SXF. Примеры (в проекции Пулково 1942, EPSG 4284 (CoordSys Earth Projection 1, 1001)):

Объект 13837 (sxf).

Подготовлено с помощью Панорама:
Region 1
144
34.561189 57.993872
34.561103 57.994752
34.559368 57.995852
34.557666 57.994838
34.557314 57.995008
34.556917 57.995295
34.556519 57.995791
34.555384 57.996011
....
С помощью GDAL SXF:
Region 1
144
34.561017 57.993876
34.560931 57.994755
34.559196 57.995855
34.557494 57.994842
34.557142 57.995011
34.556745 57.995298
34.556347 57.995794
34.555212 57.996014
...
Объект 13838 (sxf).

Подготовлено с помощью Панорама:
Region 1
84
34.574473 57.980066
34.574572 57.979849
34.574706 57.979668
34.575592 57.979236
34.576415 57.97867
34.577004 57.977912
34.577692 57.976852
34.577718 57.976161
...
С помощью GDAL SXF:
Region 1
84
34.57434 57.980068
34.57444 57.979851
34.574573 57.979669
34.575459 57.979238
34.576282 57.978672
34.576871 57.977914
34.57756 57.976854
34.577585 57.976162
...
Объект 13840 (sxf).

Подготовлено с помощью Панорама:
Region 1
35
34.626084 57.997084
34.624862 57.997237
34.624101 57.997499
34.622733 57.998691
34.621144 57.998855
34.61965 57.999272
34.619227 57.999896
34.618144 57.999893
...
С помощью GDAL SXF:
Region 1
35
34.625951 57.997086
34.624729 57.997239
34.623968 57.997501
34.6226 57.998693
34.621011 57.998856
34.619517 57.999274
34.619094 57.999897
34.618011 57.999895
...
Вопросы:

1) Это хорошая точность при сравнении, если мы сравниваем версии слоев подготовленными с помощью программы Панорама и с помощью драйвера? Можно видеть, что расхождение уже есть иногда в третьем знаке (выделено красным цветом), что весьма огорчает и беспокоит...

2) Синим цветом отмечено, что очень точное совпадение (до 5 - го знака после запятой!) стабильно у координаты - y, каждого первого узла каждого региона... Это странно и довольно непонятно для меня... Может Панорама или GDAL SXF проводят некое сглаживание?

На всякий случай. Ссылка на O-36-082.sxf и с генерированные soil_l слои (Панорама и GDAL SXF).


Надеюсь на ваши советы и предложения. Большое спасибо.

С уважением, Глушко Александр
Последний раз редактировалось glax2020 04 май 2016, 18:52, всего редактировалось 1 раз.

glax2020
Активный участник
Сообщения: 175
Зарегистрирован: 19 ноя 2012, 15:59
Репутация: 6

Re: GDAL, SXF и точность проекции

Сообщение glax2020 » 29 ноя 2014, 14:48

lam писал(а):Как вариант, конвертируйте в слой mif в метрической ск.
Спасибо за предложение

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: GDAL, SXF и точность проекции

Сообщение Дмитрий Барышников » 29 ноя 2014, 21:51

Да, я тоже за сравнение без перепроецирования.
ogr2ogr -f "MapInfo File" test.mid O-36-082.sxf LAYER4
И сравните test.mid с панорамовским. Если совпадет - то проблема в пересчете и к драйверу SXF отношение не имеет, если нет - то возможно что-то при чтении из SXF не так в GDAL.

Ariki
Гуру
Сообщения: 731
Зарегистрирован: 12 янв 2011, 22:40
Репутация: 304
Ваше звание:

Re: GDAL, SXF и точность проекции

Сообщение Ariki » 29 ноя 2014, 22:28

Если первая точка контура совпадает, то, возможно, ошибка в реализации инкрементального кодирования координат (то, что в спецификации SXF называется "векторным форматом").
Кстати, экспорт из Панорамы в MIF часто глючит (генерирует невалидный MIF со случайными пропусками) на 64-разрядной Windows. На 32-битных системах всё нормально. Не знаю, правда, как в свежих версиях.

glax2020
Активный участник
Сообщения: 175
Зарегистрирован: 19 ноя 2012, 15:59
Репутация: 6

Re: GDAL, SXF и точность проекции

Сообщение glax2020 » 29 ноя 2014, 23:12

Большое спасибо за ответы и рекомендации. Я читаю и размышляю. Но проверить смогу завтра или на днях, как появится свободное время -- сейчас на работе отчетное время.

glax2020
Активный участник
Сообщения: 175
Зарегистрирован: 19 ноя 2012, 15:59
Репутация: 6

Re: GDAL, SXF и точность проекции

Сообщение glax2020 » 30 ноя 2014, 11:45

В принципе возникло некоторое понимание ситуации и проблем.

Я не готовил первоначально те mif файлы, которые мне уже передали для упражнений и тестирования. Но теперь насколько я предполагаю, что они были подготовлены одной из версий, например "ГИС Карта 2008 версия 10" , и там на выходе даже вероятно не Пулково 42 (как я предполагал), а нечто не вполне ясное -- например некая проекция "BL" (мне не вполне ясно что это за проекция, но она существует в открытой версии "ГИС Карта 2008 версия 10", которая сохранилась с неких времен, и другой проекции для свободного на экспорт формата в mif там нет).

Я установил новую "ГИС Карта 2011 версия 11" и та единственная свободная на экспорт в mif проекция уже "WGS 84, EPSG 4326 (CoordSys Earth Projection 1, 104)" -- это удобно и понятно. И в результате точность совпадения при сравнении генераций с помощью Панорамы и GDAL SXF возросла на порядок и уже не раздражает глаз при сравнении.

Это уже подойдет, хотя не исключено что идеальной точности можно достичь при экспорте в метрической проекции (т.е. чисто без преобразований с SXF), но так как Панорама, со свободными возможностями, без ключа не поддерживает никаких других проекций, кроме "WGS 84, EPSG 4326 (CoordSys Earth Projection 1, 104)" (или я не научился с другими проекциями работать в версии без ключа), то так как сравнивать не с чем -- то придется наверное отложить этот вопрос - о предпочтительности вывода через метрическую проекцию, на будущее, когда появится возможность экспортировать в метрических проекциях в Панораме.

Большое спасибо за ответы и консультации

glax2020
Активный участник
Сообщения: 175
Зарегистрирован: 19 ноя 2012, 15:59
Репутация: 6

Re: GDAL, SXF и точность проекции

Сообщение glax2020 » 03 май 2016, 14:47

Продолжаю изучать точность в передачи координат при экспорте с помощью драйвера GDAL и обращаю внимание:

1) При экспорте SXF из Панорамы точность идеальная! Все знаковые цифры точные, и это можно наблюдать при экспорте номенклатурного листа, и мы знаем его координаты и можем видеть идеальное соответствие (в особенности по границам н.л.).

В качестве примечания воспроизведу контрольный фрагмент из слоя "LAYER1" для "Q-58-07,08.sxf" (Пулково 1942, EPSG 4284 (CoordSys Earth Projection 1, 1001)):

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

Region 1
10
162.172147 67.262283
162.174914 67.262656
162.182260 67.264666
162.184992 67.266115
162.182619 67.267717
162.179839 67.267702
162.174777 67.266600
162.170200 67.264962
162.169785 67.263526
162.172147 67.262283
Pen (1,2,0)
Brush (2,43008,0)


2) При экспорте с помощью GDAL можно обратить внимание, что воспроизведение координат при экспорте не меняется с 2014 года (как минимум), и если сравнивать MIF полученный разными способами, то можно видеть абсолютное посимвольное совпадение ! (ограниченное тестирование, в данном случае для одного контрольного участка):

- GDAL 2014 экспорт в MIF ("WGS 84, EPSG 4326 (CoordSys Earth Projection 1, 104)") -> (Пулково 1942, EPSG 4284 (CoordSys Earth Projection 1, 1001));

- NEXTGIS GDAL 2016 и QGIS GDAL 2016 экспорт в MIF или TAB ("WGS 84, EPSG 4326 (CoordSys Earth Projection 1, 104)") -> (Пулково 1942, EPSG 4284 (CoordSys Earth Projection 1, 1001));

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

Region  1
  10
162.17268 67.262529
162.175448 67.262903
162.182794 67.264913
162.185526 67.266363
162.183153 67.267963
162.180373 67.267948
162.17531 67.266846
162.170733 67.265209
162.170319 67.263773
162.17268 67.262529
    Pen (1,2,0) 
    Brush (1,0,16777215)
    Center 162.177922 67.265246
Итого, точность результата при экспорте SXF с помощью GDAL не зависит от формата вывода (MIF/TAB), от варианта и года GDAL (транк, NEXTGIS, QGIS), и как можно наблюдать обычная погрешность: 20 - 40 м (по 2 км н.л., к примеру).

Это серьезная погрешность, и к примеру если формировать карту из одних только н.л., обработанных только с помощью GDAL, то это выглядит приемлемым в наше время и для наших задач.

Но к сожалению, компоновать карту из н.л., часть которых экспортированные с помощью GDAL, и часть которых экспортированные с помощью Панорамы (некоторые н.л. сбоят при экспорте с помощью GDAL, в настоящее время), то результат уже получается не вполне приемлемый -- расхождение, все таки значительное...

С уважением, Александр

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: GDAL, SXF и точность проекции

Сообщение Дмитрий Барышников » 03 май 2016, 15:41

Странно что не 100-150 м ошибка.
Вы каким образом задаете параметры перехода между WGS84 и Krassowsky 1940?
Есть переходы по ГОСТ 2001, 2008, 2013 годов (если не ошибаюсь), через NTv2.
GDAL сам решение не примет какие параметры перехода использовать.
И вообще, это уже не к драйверу SXF в GDAL вопрос.

glax2020
Активный участник
Сообщения: 175
Зарегистрирован: 19 ноя 2012, 15:59
Репутация: 6

Re: GDAL, SXF и точность проекции

Сообщение glax2020 » 03 май 2016, 19:59

Пробую, к примеру, следующие варианты и результат, в принципе одинаковый (для слоя LAYER1):

ogr2ogr -t_srs EPSG:4326 -f "MapInfo File" file.mid "Q-58-07,08.sxf" LAYER1

ogr2ogr -t_srs EPSG:4326 -f "MapInfo File" outdir "Q-58-07,08.sxf"

ogr2ogr -s_srs EPSG:28428 -t_srs EPSG:4326 -f "MapInfo File" outdir "Q-58-07,08.sxf"
Вы каким образом задаете параметры перехода между WGS84 и Krassowsky 1940?
Использую MapInfo, и при сохранении таблицы под новым наименованием указываю проекцию: "Пулково 1942" (EPSG 4284).

Вы написали "Krassowsky 1940", но моя Панорама сохраняет как:

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

Version 300
Charset "WindowsCyrillic"
Delimiter ";"
CoordSys Earth Projection 1,1001 
и по моему, это и есть "Пулково 1942" (EPSG 4284)", и у меня тоже после пере проецирования экспорта из GDAL (c помощью Mapinfo): "CoordSys Earth Projection 1,1001", т.е. "Пулково 1942" (EPSG 4284)" -- т.е. данные приведены к одной проекции
через NTv2.
GDAL сам решение не примет какие параметры перехода использовать.
И вообще, это уже не к драйверу SXF в GDAL вопрос.
К сожалению, мне это не совсем понятно и не понятно к кому адресовать вопрос...

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: GDAL, SXF и точность проекции

Сообщение Дмитрий Барышников » 03 май 2016, 21:28

Выполните сравнение результатов перевода из SXF в MapInfo без перепроецирования (без всяких опций -t_srs -s_srs), как я вас просил: viewtopic.php?t=17779&p=142539#p121922
Так же сделайте в Панорама.
Если результаты совпадают, то необходимо закрыть тему как это описано в правилах форума (http://gis-lab.info/qa/forum-recommend.html п. 4.1), если не совпадают, то видимо ошибка в драйвере при чтении значений из файла.

А для вопросов перепроецирования в GDAL:
1. Поищите, возможно это обсуждалось на форуме и ответ есть.
2. Если обсуждения не было - создайте новую тему с конкретными примерами, что на входе, что на выходе и что есть по вашему мнению эталон.

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2227
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1500
Откуда: Казань

Re: GDAL, SXF и точность проекции

Сообщение Игорь Белов » 04 май 2016, 10:02

Панорама следует распространённой у нас порочной практике использования датума MapInfo за номером 1001 для России. Она выдаёт координаты EPSG:4284 "Pulkovo 1942" с трансформацией EPSG:1267 "Pulkovo 1942 to WGS 84 (17)" (+towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0.12), определённой ГОСТ Р 51794-2001, и пишет в MIF, в заголовок которого ничтоже сумняшеся ставит "CoordSys Earth Projection 1, 1001". Между тем в MapInfo "CoordSys Earth Projection 1, 1001" — это EPSG:4178 "Pulkovo 1942(83)" с трансформацией EPSG:1675 "Pulkovo 1942(83) to WGS 84 (1)" (+towgs84=24.0,-123.0,-94.0,0.02,-0.25,-0.13,1.1). Такой подход приемлем для мелкомасштабной картографии, но в геодезии допустим лишь с определёнными оговорками, когда специалист понимает, что делает.

GDAL ogr2ogr при экспорте в "MapInfo File" тоже принимает в качестве "Пулково 1942" датум 1001, только она прямо, честно и открыто конвертирует координаты в соответствии с определением этого датума (+towgs84=24.0,-123.0,-94.0,0.02,-0.25,-0.13,1.1).
The purpose of computing is insight, not numbers

glax2020
Активный участник
Сообщения: 175
Зарегистрирован: 19 ноя 2012, 15:59
Репутация: 6

Re: GDAL, SXF и точность проекции

Сообщение glax2020 » 04 май 2016, 12:32

Дмитрий Барышников писал(а):Выполните сравнение результатов перевода из SXF в MapInfo без перепроецирования (без всяких опций -t_srs -s_srs), как я вас просил: viewtopic.php?t=17779&p=142539#p121922
Так же сделайте в Панорама.
Если результаты совпадают, то необходимо закрыть тему как это описано в правилах форума (http://gis-lab.info/qa/forum-recommend.html п. 4.1), если не совпадают, то видимо ошибка в драйвере при чтении значений из файла.

А для вопросов перепроецирования в GDAL:
1. Поищите, возможно это обсуждалось на форуме и ответ есть.
2. Если обсуждения не было - создайте новую тему с конкретными примерами, что на входе, что на выходе и что есть по вашему мнению эталон.
Хорошо, я это постараюсь сделать на днях. Когда у меня будет немножко получше со свободным временем.
ErnieBoyd писал(а):Панорама следует распространённой у нас порочной практике использования датума MapInfo за номером 1001 для России....
Возможно "ErnieBoyd » Сегодня, 11:02" уже объяснил ситуацию, правда, не понятно мне неизощренному простому пользователю, как GDAL в таком случае можно подладить под Панораму?... Интересен и обратный вопрос, если мы принимаем, что GDAL эталон точности, то как Панораму подладить под GDAL?... Оба вопроса имеют самостоятельную ценность, мне кажется, ибо номенклатурные листы Росреестра вроде бы "подогнаны" под представления о понятиях под Панораму.

Спасибо.

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2227
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1500
Откуда: Казань

Re: GDAL, SXF и точность проекции

Сообщение Игорь Белов » 04 май 2016, 15:20

Так. Прошу прощения у разработчиков, я ошибался по поводу GDAL. ogr2ogr выдаёт буквально то же самое, что и Панорама: в CoordSys пишет датум 1001, а координаты конвертирует в EPSG:4284.

Как я понимаю, топикстартер создаёт ошибку так:
  • заставляет ogr2ogr бог весть зачем пересчитывать векторы в WGS 84;
  • открывает слой в MapInfo;
  • сохраняет копию слоя в "Longitude / Latitude (Pulkovo 1942) [EPSG: 4284]".
Проблему выстреливает MapInfo в последнем пункте. Причину я назвал выше: датум #1001 "Pulkovo 1942" не то, что имеют в виду Панорама и GDAL.

Александр, запускайте ogr2ogr с параметром "-t_srs EPSG:4284", и получите такие же результаты, как из Панорамы. Заодно и перепроецировать в MapInfo не придётся.
The purpose of computing is insight, not numbers

glax2020
Активный участник
Сообщения: 175
Зарегистрирован: 19 ноя 2012, 15:59
Репутация: 6

Re: GDAL, SXF и точность проекции

Сообщение glax2020 » 04 май 2016, 16:55

ErnieBoyd писал(а):Александр, запускайте ogr2ogr с параметром "-t_srs EPSG:4284", и получите такие же результаты, как из Панорамы. Заодно и перепроецировать в MapInfo не придётся.
Спасибо. Классно! Попробую.

glax2020
Активный участник
Сообщения: 175
Зарегистрирован: 19 ноя 2012, 15:59
Репутация: 6

Re: GDAL, SXF и точность проекции

Сообщение glax2020 » 04 май 2016, 18:50

ErnieBoyd писал(а):Так. Прошу прощения у разработчиков, я ошибался по поводу GDAL. ogr2ogr выдаёт буквально то же самое, что и Панорама: в CoordSys пишет датум 1001, а координаты конвертирует в EPSG:4284.

Как я понимаю, топикстартер создаёт ошибку так:
  • заставляет ogr2ogr бог весть зачем пересчитывать векторы в WGS 84;
  • открывает слой в MapInfo;
  • сохраняет копию слоя в "Longitude / Latitude (Pulkovo 1942) [EPSG: 4284]".
Проблему выстреливает MapInfo в последнем пункте. Причину я назвал выше: датум #1001 "Pulkovo 1942" не то, что имеют в виду Панорама и GDAL.

Александр, запускайте ogr2ogr с параметром "-t_srs EPSG:4284", и получите такие же результаты, как из Панорамы. Заодно и перепроецировать в MapInfo не придётся.
Ваше предложение исчерпывающе помогло. Абсолютное совпадение по координатам с Панорамой!

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

ogr2ogr -t_srs EPSG:4284  -f "MapInfo File" outdir "Q-58-07,08.sxf"
Тему отмечу как решенную.

Большое спасибо.

Ответить

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

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

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