Proj4 for Delphi - свойства и качества библиотеки

Системы координат, проекции, преобразования, привязка
KotAlex
Участник
Сообщения: 79
Зарегистрирован: 24 дек 2015, 11:28
Репутация: 1

Proj4 for Delphi - свойства и качества библиотеки

Сообщение KotAlex » 03 фев 2016, 11:18

Уважаемые участники обсуждения !
Кто-нибудь когда-нибудь сталкивался с библиотекой PROJ4 для Delphi, выложенной на :
Proj4 for Delphi :
http://www.naadsm.org/iproj4-delphii
или, может быть, что-то про нее слышали ?
Можете ли вы высказать какое-то определенное мнение о работе и качествах этой библиотеки ?
Меня интересует вопрос о том, насколько ей можно доверять, ну и прочие самые разные ее аспекты ...
короче - хотел бы услышать просто мнения от тех, кто имел к ней хоть какое-то касательство.

Я скачал с указанного выше сайта архивы этой библиотеки, скомпоновал прект демо-приложения
этой библиотеки в Delphi ( это прошло относительно легко ) и опрбовал его на тех данных, которые обсуждались
в теме "Привязка растровой карты Арктики"
а именно - для проекции :

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

  Полярная равнопромежуточная проекция  
   North Pole Azimuthal Equidistant, код EPSG:102016
    +proj=aeqd +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs
и для точек ( градусы Lon/Lat --> метры проекции ) :

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

40 60   -->   2151984.08   -2564634.76 
-40 60   -->   -2151984.08   -2564634.76 
140 60   -->   2151984.08   2564634.76 
-140 60   -->   -2151984.08   2564634.76 
Созданое приложение выдало следующее :
Demo_PROJ4.jpg
Demo_PROJ4.jpg (102.94 КБ) 10553 просмотра
Как видите - очень хорошее совпадение результатов.

Но, в то же время, когда я попробовал по аналогии сравнить результаты преобразований для одних и тех же проекций ( самых разных ) в этом приложении и на сайте http://cs2cs.mygeodata.eu/
то впечатления остались весьма неприятные - очень существенные расхождения.
Вот и хочу спросить - у кого какие мнения насчет этой библиотеки ...
Если кого-то интересуют скомпилированное мною упомянутое приложение или весь его исходный проект в Delphi с исходными кодами - пишите сюда, выложу здесь.

stout
Участник
Сообщения: 91
Зарегистрирован: 13 апр 2012, 17:09
Репутация: 52

Re: Proj4 for Delphi - свойства и качества библиотеки

Сообщение stout » 04 фев 2016, 00:37

Как правило, ищут там где потерял, а не там где светлее.
Выложите примеры очень существенных расхождений.

KotAlex
Участник
Сообщения: 79
Зарегистрирован: 24 дек 2015, 11:28
Репутация: 1

Re: Proj4 for Delphi - свойства и качества библиотеки

Сообщение KotAlex » 04 фев 2016, 10:32

stout писал(а):Выложите примеры очень существенных расхождений.
Вы правы, надо было это сделать с самого начала. Приношу извинения.
Результат преобразования из WGS84 в Pulkovo 1942, полученный на http://cs2cs.mygeodata.eu/ :
1_mygeodata.jpg
1_mygeodata.jpg (151.77 КБ) 10463 просмотра
Результат преобразования, полученный из оттранслированного мною проекта библиотеки Proj4 for Delphi,
полученного с http://www.naadsm.org/iproj4-delphii :
2_naadsm.jpg
2_naadsm.jpg (94.05 КБ) 10463 просмотра
Если в первом случае результат получен в градусах, то во втором - в метрах проекции.
Причем, как мне кажется - результат верный, поскольку при инверсном преобразовании получаем :
2_naadsm_Inverse.jpg
2_naadsm_Inverse.jpg (94.98 КБ) 10463 просмотра
Возникает вопрос - почему в первом случае результат в градусах, а во втором - в метрах ?
Что надо изменить в строке proj=... ( или где еще ... ), чтобы приложение выдало результат в градусах ?

KotAlex
Участник
Сообщения: 79
Зарегистрирован: 24 дек 2015, 11:28
Репутация: 1

Re: Proj4 for Delphi - свойства и качества библиотеки

Сообщение KotAlex » 04 фев 2016, 10:33

Если кому интересно - выкладываю здесь прикрепленный архив с оттранслированными мною
демо-приложениями библиотеки Proj4 for Delphi. Все необходимые пояснения - в файле README.txt .
Вложения
ProjForDelphi.rar
(824.07 КБ) 449 скачиваний

trir
Гуру
Сообщения: 5292
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1015
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Proj4 for Delphi - свойства и качества библиотеки

Сообщение trir » 04 фев 2016, 10:44

Какие ять метры - это радианы!!!

stout
Участник
Сообщения: 91
Зарегистрирован: 13 апр 2012, 17:09
Репутация: 52

Re: Proj4 for Delphi - свойства и качества библиотеки

Сообщение stout » 04 фев 2016, 10:48

trir писал(а):Какие ять метры - это радианы!!!
Опередили на 2 минуты :mrgreen:
Но расхождение на 7.8" для первого числа есть.

KotAlex
Участник
Сообщения: 79
Зарегистрирован: 24 дек 2015, 11:28
Репутация: 1

Re: Proj4 for Delphi - свойства и качества библиотеки

Сообщение KotAlex » 04 фев 2016, 11:07

trir писал(а):Какие ять метры - это радианы!!!
Да, вы правы - и в самом деле радианы ! Прошу прощения - первоначально не обратил внимания. У меня сегодня опять очень тяжелый день ...
Как я понимаю, строка Proj= здесь ни при чем. Возможно, что само приложение результат преобразует в радианы.
Надо лезть смотреть в исходные коды проекта. Сегодня этим заниматься некогда, зделаю завтра.

gamm
Гуру
Сообщения: 4056
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: Proj4 for Delphi - свойства и качества библиотеки

Сообщение gamm » 04 фев 2016, 20:18

stout писал(а):Но расхождение на 7.8" для первого числа есть.
ставлю на то, что где-то использовался float 4-х байтовый, ошибка округления в 6 знаке.

KotAlex
Участник
Сообщения: 79
Зарегистрирован: 24 дек 2015, 11:28
Репутация: 1

Re: Proj4 for Delphi - свойства и качества библиотеки

Сообщение KotAlex » 05 фев 2016, 09:01

gamm писал(а):
stout писал(а):Но расхождение на 7.8" для первого числа есть.
ставлю на то, что где-то использовался float 4-х байтовый, ошибка округления в 6 знаке.
Вчера вечером я бегло просмотрел исходные коды проекта и протрассировал его в отладчике. Дело не в использовании типа float, а в том, что по всему пространству кода используются функции преобразования вещественных форматов, в которых для вещественных значений по умолчанию задано ограничение в 6 знаков после запятой. Попытался увеличить это число - ничего не дало. В кодах действует какая-то хитрая закавыка, с которой, к сожалению, нет возможности разбираться в ближайщие дни. Вернусь к этому вопросу несколько попозже.
Ну, а для чего в проекте установлено подобное ограничение на точность - интересный, конечно, вопрос, но, боюсь, мы здесь можем только гадать из пустого в порожнее ...
Однако, возможно, надо учитывать - проект по свободной лицензии ...

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

Re: Proj4 for Delphi - свойства и качества библиотеки

Сообщение Дмитрий Барышников » 05 фев 2016, 12:20

Ничего такого не заметил https://github.com/OSGeo/proj.4
Где именно происходит округление?
Везде вроде double (https://github.com/OSGeo/proj.4/blob/ma ... proj_api.h)

trir
Гуру
Сообщения: 5292
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1015
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Proj4 for Delphi - свойства и качества библиотеки

Сообщение trir » 05 фев 2016, 12:35


KotAlex
Участник
Сообщения: 79
Зарегистрирован: 24 дек 2015, 11:28
Репутация: 1

Re: Proj4 for Delphi - свойства и качества библиотеки

Сообщение KotAlex » 05 фев 2016, 13:17

Дмитрий Барышников писал(а):Ничего такого не заметил https://github.com/OSGeo/proj.4
Где именно происходит округление?
Везде вроде double (https://github.com/OSGeo/proj.4/blob/ma ... proj_api.h)
Я имею в виду не ваши источники, а исходные тексты, которые приведены :
trir писал(а):здесь
Для вещественных чисел везде используется 8-байтовый тип Double, но при выводе вещественных значений используется ограничение по умолчанию - 6 цифр после запятой.
И, кстати, по поводу ваших источников :
не будете ли вы так любезны хотя бы вкратце пояснить, что это за источники и каково их происхождение ?

KotAlex
Участник
Сообщения: 79
Зарегистрирован: 24 дек 2015, 11:28
Репутация: 1

Re: Proj4 for Delphi - свойства и качества библиотеки

Сообщение KotAlex » 05 фев 2016, 13:28

trir писал(а):здесь
Для полной сборки проекта этого мало. Надо закачать файлы :
cxreedit-1.9.3-src.zip
general_purpose-1.6.4-src.zip
qclasses-0.1.7-src.zip
proj4_delphi-1.0.0-src.zip
с http://www.naadsm.org/opensource

trir
Гуру
Сообщения: 5292
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1015
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Proj4 for Delphi - свойства и качества библиотеки

Сообщение trir » 05 фев 2016, 13:57

не будете ли вы так любезны хотя бы вкратце пояснить, что это за источники и каково их происхождение ?
мда, это и есть Proj4, а "Proj4 for Delphi" - это его порт, причём старый

gamm
Гуру
Сообщения: 4056
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: Proj4 for Delphi - свойства и качества библиотеки

Сообщение gamm » 05 фев 2016, 17:20

trir писал(а):мда, это и есть Proj4, а "Proj4 for Delphi" - это его порт, причём старый
коллеги, а что такое "порт для Delphi", если в этом самом Delphi можно без затей использовать dll от самого PROJ4? это какая-то специальная фича для школьников?
Дмитрий Барышников писал(а):Везде вроде double (https://github.com/OSGeo/proj.4/blob/ma ... proj_api.h)
так вы же смотрите сам PROJ4, а не его "порт для Delphi", сделанный неизвестными пионэрами ...

Ответить

Вернуться в «Координаты и привязка»

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

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