Преобразование геодезических координат в плоские прямоугольн
-
- Активный участник
- Сообщения: 128
- Зарегистрирован: 03 фев 2011, 13:19
- Репутация: 16
- Откуда: Борисполь, Украина
Re: Преобразование геодезических координат в плоские прямоуг
В таком случае лови.
Внутри компилируемый и самодостаточный проект на Делфи 7, ЕХЕ-шник которого я кидал в соседнюю тему (Конвертор "всего во всё и обратно").
Состав:
MathExt.pas - моя математическая библиотека. Внутри типы и базовые геометрические функции на которых базируется конвертор в СК63 и конверторы геодезии.
uCk63.pas - исходники конвертора СК63 вместе с алгоритмом определения разграфки всех районов (по ходу разберёшься что к чему, пример компилится и работает)
uGisCalc.pas - впрочем, сама геодезическая библиотека. В ней я собрал всё и отовсюду (кроме СК63 - он отдельно , в модуле выше по тексту).
По сути, я перевёл исходники проекта PRJ4.0 написанного на Си в Паскаль. Прогнал по всем проекциям по примерам и подкорректировал неточности в коде. Некоторые проекции (единицы - их по коду видно) так и не привёл в порядок в связи с отсутствием исходных данных для проверки .
Чуть позже, в модуль добавил проекцию Гаусса-Крюггера (она отдельными функциями), ещё позже прямую и обратную геодезические задачи . Последние функции писал сам и сейчас они работают в составе вполне серъёзных проектов на гос.уровне.
Пользуйтесь на здоровье и улучшайте (распространяйте код) .
Почему я так сделал? Да потому что задолбал этот вечный ажиотаж вокруг геодезии. Постоянно с этих проекций делают из мухи слона. Надеюсь, что Макс Дубинин не удалит этот пост.
Удачи
Внутри компилируемый и самодостаточный проект на Делфи 7, ЕХЕ-шник которого я кидал в соседнюю тему (Конвертор "всего во всё и обратно").
Состав:
MathExt.pas - моя математическая библиотека. Внутри типы и базовые геометрические функции на которых базируется конвертор в СК63 и конверторы геодезии.
uCk63.pas - исходники конвертора СК63 вместе с алгоритмом определения разграфки всех районов (по ходу разберёшься что к чему, пример компилится и работает)
uGisCalc.pas - впрочем, сама геодезическая библиотека. В ней я собрал всё и отовсюду (кроме СК63 - он отдельно , в модуле выше по тексту).
По сути, я перевёл исходники проекта PRJ4.0 написанного на Си в Паскаль. Прогнал по всем проекциям по примерам и подкорректировал неточности в коде. Некоторые проекции (единицы - их по коду видно) так и не привёл в порядок в связи с отсутствием исходных данных для проверки .
Чуть позже, в модуль добавил проекцию Гаусса-Крюггера (она отдельными функциями), ещё позже прямую и обратную геодезические задачи . Последние функции писал сам и сейчас они работают в составе вполне серъёзных проектов на гос.уровне.
Пользуйтесь на здоровье и улучшайте (распространяйте код) .
Почему я так сделал? Да потому что задолбал этот вечный ажиотаж вокруг геодезии. Постоянно с этих проекций делают из мухи слона. Надеюсь, что Макс Дубинин не удалит этот пост.
Удачи
- Вложения
-
- Convert.SRC.zip
- исходник геодезического конвертора (130 проекций)
- (407.47 КБ) 944 скачивания
Последний раз редактировалось Franklin1967 28 фев 2015, 23:26, всего редактировалось 1 раз.
-
- Активный участник
- Сообщения: 128
- Зарегистрирован: 03 фев 2011, 13:19
- Репутация: 16
- Откуда: Борисполь, Украина
Re: Преобразование геодезических координат в плоские прямоугольн
забыл самое главное !
Весь исходный код является моей личной наработкой, которую я отдаю безвозмездно в широкие круги геодезистов. Всякое присвоение и "лицензирование" кода или его частей недопустимо.
Этот код - я открыл и сделал доступный каждому кто хочет что-то сам написать . ячсячсчясчяс
Весь исходный код является моей личной наработкой, которую я отдаю безвозмездно в широкие круги геодезистов. Всякое присвоение и "лицензирование" кода или его частей недопустимо.
Этот код - я открыл и сделал доступный каждому кто хочет что-то сам написать . ячсячсчясчяс
Последний раз редактировалось Franklin1967 17 сен 2020, 18:31, всего редактировалось 1 раз.
-
- Участник
- Сообщения: 91
- Зарегистрирован: 13 апр 2012, 17:09
- Репутация: 52
Re: Преобразование геодезических координат в плоские прямоуг
Во-первых, большое спасибо за библиотеку!Franklin1967 писал(а):забыл самое главное !
Весь исходный код является моей личной наработкой, которую я отдаю безвозмездно в широкие круги геодезистов. Всякое присвоение и "лицензирование" кода или его частей недопустимо.
Этот код - я открыл и сделал доступный каждому кто хочет что-то сам написать .
Глубоко пока не копал, но уже куча вопросов.
Правильно ли я понял, что нет возможности напрямую преобразовать (B,L)42 => (X,Y)63 и (X,Y)42 => (X,Y)63? (_reg.Enabled:=False)
Возник вопрос по точности преобразования. Причём двоякого рода.
Сначала о точности представления результата. У вас точность представления координат до 1 см. на поверхности Земли это соответствует 00.01м/6400000м×206265"=0.0003". У вас же результат даётся с точностью до 0.01".
Нет, исправить и перекомпилировать мне не сложно.
Далее, широта у вас получается N532357.92
А мои вычисления и вычисления в координатном калькуляторе программы постобработки Pinnacle совпадают и получается 53°23'58.07867" Я выбрал не ту проекцию? Хотя долготы совпадают.
Кроме того. Посмотрите мой пост на предыдущей странице о смещениях координаты X для СК-63.
Для своих целей их получал путём вычисления из сравнения координат пар точек в СК-42 и СК-63.
сначала решалось нелинейное уравнение для разницы долгот осевых меридианов в СК-42 и СК-63.
Контролировалось с помощью старенькой программы, которую мне дал лет 15 назад Геннадий Николаевич Ефимов.
Т.е. вычислялись координаты точки на осевом меридиане для СК-63.
З.Ы. Надеюсь понимаете, что мной движет не стремление вас "уесть", а вложить посильный вклад в улучшение библиотеки.
З.З.Ы.
Насколько понял, это не формулы Vincenty?ещё позже прямую и обратную геодезические задачи . Последние функции писал сам и сейчас они работают в составе вполне серъёзных проектов на гос.уровне.
-
- Гуру
- Сообщения: 3058
- Зарегистрирован: 19 май 2010, 19:44
- Репутация: 189
Re: Преобразование геодезических координат в плоские прямоуг
При открытии программы, шрифты не читаемы частично (Win7x64, практически "чистая").
Можно ли это как-то исправить?
Можно ли это как-то исправить?
- Вложения
-
- 1.gif (77.93 КБ) 11681 просмотр
-
- Активный участник
- Сообщения: 128
- Зарегистрирован: 03 фев 2011, 13:19
- Репутация: 16
- Откуда: Борисполь, Украина
Re: Преобразование геодезических координат в плоские прямоуг
snout-у
СК63 - писался отдельно от основного модуля.
По точности широты .
Скорее всего проблема не в формуле, а в параметрах эллипсоида. При коррекции параметров эллписоида (они вначале модуля как массив констант) в нужные значения (как в программе в которой Вы проверяли) у вас широта совпадёт. Широты как правило не совпадают имеенно изза нессотвествия сжатия. Долготы- изза несоотвествия радиуса большой полуоси. Я брал параметры с ядра Панорамы, они могут отличатся.
в ней же проверочные координаты
Донецкову.
К сожалению мне не удалось повторить ситуацию на своём домашнем ПК...
в uCK63.pas есть две функции GeoToPlane PlaneToGeo. При переводе с широты/долготы - алгоритм атовматически вычисляет куда папала точка (зона) и делает преобразование координат по этой зоне. Если точка попадает в несколько зон - преобразования выполняются для всех вариантов.Правильно ли я понял, что нет возможности напрямую преобразовать (B,L)42 => (X,Y)63 и (X,Y)42 => (X,Y)63?
СК63 - писался отдельно от основного модуля.
По точности широты .
Скорее всего проблема не в формуле, а в параметрах эллипсоида. При коррекции параметров эллписоида (они вначале модуля как массив констант) в нужные значения (как в программе в которой Вы проверяли) у вас широта совпадёт. Широты как правило не совпадают имеенно изза нессотвествия сжатия. Долготы- изза несоотвествия радиуса большой полуоси. Я брал параметры с ядра Панорамы, они могут отличатся.
я не в курсе о каких формулах идёт речь, в модуле, функции TrueGeoTask и ReversGeoTask писались по этой книжкеНасколько понял, это не формулы Vincenty?
в ней же проверочные координаты
Донецкову.
К сожалению мне не удалось повторить ситуацию на своём домашнем ПК...
-
- Участник
- Сообщения: 91
- Зарегистрирован: 13 апр 2012, 17:09
- Репутация: 52
Re: Преобразование геодезических координат в плоские прямоуг
А так?Донецков писал(а):При открытии программы, шрифты не читаемы частично (Win7x64, практически "чистая").
Можно ли это как-то исправить?
Возможно, проблема в шрифте MS Sans Serif.
-
- Гуру
- Сообщения: 3058
- Зарегистрирован: 19 май 2010, 19:44
- Репутация: 189
Re: Преобразование геодезических координат в плоские прямоуг
А так все нормально
- SergeyRyzhkov
- Гуру
- Сообщения: 909
- Зарегистрирован: 02 июл 2014, 19:13
- Репутация: 203
- Ваше звание: GP-экотеррористы
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Преобразование геодезических координат в плоские прямоуг
Franklin1967
Прежде всего спасибо за Ваш труд!
У вас есть тестовые наборы данных ? Можете поделиться (в любом виде)?
Я просто в свое время также писал что-то похожее, но на C#, формулы брал с http://www.epsg.org/GuidanceNotes
Для тестирования использовал их же наборы, но они (наборы) у них весьма скудные.
Прежде всего спасибо за Ваш труд!
У вас есть тестовые наборы данных ? Можете поделиться (в любом виде)?
Я просто в свое время также писал что-то похожее, но на C#, формулы брал с http://www.epsg.org/GuidanceNotes
Для тестирования использовал их же наборы, но они (наборы) у них весьма скудные.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя