Добро пожаловать!

Войдите или зарегистрируйтесь сейчас!

Войти

Программирование перевода координат из одной системы в другую.

Тема в разделе "Исходные данные", создана пользователем RoBo, 22 апр 2015.

  1. RoBo

    Регистрация:
    27 мар 2015
    Сообщения:
    11
    Симпатии:
    2
    Приветствую всех и каждого!!! Пробовал сам разобраться, но не смог...пока. Поэтому прошу оказать помощь
    Ситуация следующая:
    Исходные данные: съемка участка в системе МСК50.
    Задача: отобразить границу произведенной топографической съемки на карте внутреннего сервиса где обзорная карта в системе координат WGS84.
    Т.к. участки будут добавляться процесс необходимо автоматизировать запрограммировав его, т.е. нужен АГЛОРИТМ данного пересчета.
    Изучил ГОСТ 51794-2008 там ни слова про МСК50, у геодезистов узнал, что в контроллере для пересчета WGS84-МСК50 используются настройки Системы Координат приведенные на сайте mapbasic.ru, но каким образом это происходит не понял.
    Каков общий порядок по пересчету пролейте свет!!!
     
    #1
  2. Geo_major

    Форумчанин

    Регистрация:
    28 мар 2010
    Сообщения:
    4.404
    Симпатии:
    5.458
    Адрес:
    Военный городок Москва-74
    1. Скачать программу,
    2. Внимательно прочитать мануал.
    3. Перевести за 15 секунд ваши координаты.
    4. Сделать из них KML и посмотреть на Гугл планета земля.
     
    #2
    adon73 нравится это.
  3. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.936
    Адрес:
    Златоглавая и Белокаменная
    алгоритм, нет не так, АЛГОРИТМ (так будет правильно) приведён в том ГОСТе, который вы соизволили изучать.::biggrin24.gif::
    З.Ы. Изучать — глагол несовершенного вида.
     
    #3
  4. Geo_major

    Форумчанин

    Регистрация:
    28 мар 2010
    Сообщения:
    4.404
    Симпатии:
    5.458
    Адрес:
    Военный городок Москва-74
    Была у меня похожая задачка, заказчик хотел лично на гугле посмотреть, где именно будем снимать его трассу. Было почти 1700 точек поворота, мне кажется в тот день stout икалось как никогда, но вспоминал я его исключительно добрыми словами. ::biggrin24.gif::

    И ещё раз отдельное спасибо Slinger, , за квалифицированную помощь. ::biggrin24.gif::

    Суровый алгоритм-с. ::biggrin24.gif::
    1. Имеем в наличии файл dwg c полилинией в МСК-50 2 зона и продвинутого заказчика.
    2. Используя приложение с форума geo_export получил текстовый каталог точек в МСК-50 2 зона.
    3. Меняем запятые на точки с запятой и загружаем их в программу archaeoSYS . Перед загрузкой точек нужно внимательно прочитать мануал и добавить четвертую кнопку для МСК.​
    4. Выставляем МСК-50 зона 2 , выбираем датум СК-42 ГОСТ Р 51794-2008, нажимаем RUN и получаем в таблице координаты в WGS-84, затем кликаем на рисунок дискеты и выбираем КML. Полученный файл KML уже открывается в Google Earth, но пока в виде точек.​
    5. Заказчик доволен и этот заказ ваш. )))​
     
    #4
    adon73 нравится это.
  5. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.936
    Адрес:
    Златоглавая и Белокаменная
    В документе
    NATIONAL GEOSPATIAL-INTELLIGENCE AGENCY (NGA)
    STANDARDIZATION DOCUMENT
    DEPARTMENT OF DEFENSE
    WORLD GEODETIC SYSTEM 1984
    Its Definition and Relationships with Local Geodetic Systems
    2014-07-08
    Version 1.0.0
    есть табличка
    Comparison to WGS 84 (G1762)_.png
     
    #5
  6. Родичкин

    Форумчанин

    Регистрация:
    7 июл 2010
    Сообщения:
    2.064
    Симпатии:
    2.121
    Оффтоп

    ? А ГОСТ совершенного вида?
     
    #6
  7. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    3.253
    Симпатии:
    931
    Адрес:
    gnomtrir@mail.ru
    Однако в Map 3D dwg=>kml - делается в одно движение
     
    #7
  8. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.936
    Адрес:
    Златоглавая и Белокаменная
    Да нет, ему действительно нужен алгоритм, и он действительно есть в этом приснопамятном ГОСТ (ну почти весь, просто надо понимать, как те формулы использовать.)
    Оффтоп

    То, что написано пером, того не вырубишь топором.::biggrin24.gif::
    Есть сильное подозрение, что он родился приблизительно так, на совещании в конце отчётного периода начальник отдела напоминает: "Мужики, в планы давно заглядывали? Не забыли, что должны ГОСТ написать? Но вы же профессионалы, успеете за пару деньков…"

     
    #8
  9. Geo_major

    Форумчанин

    Регистрация:
    28 мар 2010
    Сообщения:
    4.404
    Симпатии:
    5.458
    Адрес:
    Военный городок Москва-74
    Конечно, если есть MAP 3D и это движение доведено до автоматизма. )))
     
    #9
    stout нравится это.
  10. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.936
    Адрес:
    Златоглавая и Белокаменная
    Извините за резкость реакции, среагировал на вашу фразу:"Изучил ГОСТ 51794-2008".
    Общий порядок очень простой.
    1. От прямоугольных координат в проекции Гаусса-Крюгера переходим к геодезической широте и долготе. [X,Y]→[B,L]
    2. Надо решить, что делать с высотой. Ошибка в высоте сказывается на конечных плановых координатах, но не сильно. Зависимость нелинейная в общем случае, но едва ли она больше 1 мм на 50 метров ошибки в высоте. Обычная практика полагать высоту равной нулю.
    3. От [B,L,H=…] переходим к прямоугольным геоцентрическим координатам [X,Y,Z] в СК-42.
    4. Применяем семипараметрическое преобразование и находим [X,Y,Z] в WGS 84. Ввиду кривости СК-42 эти семь параметров индивидуальны для каждого района, т.е. они постоянны только в локальной области. Те параметры, которые даны в ГОСТе — это некое среднее для всей страны, дающее точность несколько метров (в лучшем случае).
    5. От [X,Y,Z]WGS 84 переходим к [B,L,H]WGS 84 .
    6. Задача решена.
    Остаются только вопросы точности, как самого преобразования, так и отображения.
    --- Сообщения объединены, 22 апр 2015, Оригинальное время сообщения: 22 апр 2015 ---
    Оффтоп
    Не уверен, но вроде бы и Global Mapper™ это умеет.::biggrin24.gif::
     
    #10
    uriygr, RoBo и Geo_major нравится это.
  11. RoBo

    Регистрация:
    27 мар 2015
    Сообщения:
    11
    Симпатии:
    2
    Geo_major спасибо за программу, сослужит мне добрую службу, на первое время вопрос решен. С точки зрения АЛГОРИТМА использования ПРОГРАММЫ я получил исчерпывающий ответ. Вопрос в том какой АЛГОРИТМ использует программа.
    stout в ходе повторного изучения ГОСТ установил, что АЛГОРИТМ пересчета МСК50-WGS84 имеет вид:
    МСК50 - референцная система координат СК-42 (СК-95) - ПЗ90 (ПЗ90.02) - WGS84.
    Итого III этапа
    Этап III
    ПЗ90 (ПЗ90.02) - WGS84
    Приложении В, Г
    формулы из раздела 5.2 конкретизированы 7-ю элементами трансформирования
    Этап II
    референцная система координат СК-42 (СК-95) - ПЗ90 (ПЗ90.02)
    Приложение А, Б
    формулы из раздела 5.2 конкретизированы 7-ю элементами трансформирования
    Этап I
    МСК50 - референцная система координат СК-42 (СК-95)
    Вот в этом месте т.е. в самом начале вопросы...
    1. Т.к. и МСК50 и референцная система координат СК-42 (СК-95) прямоугольные системы координат получается формулы надо использовать из раздела 5.2. изучаемого ГОСТа? Если Нет то какие формулы использовать? Если Да то:
    2. Если я буду использовать формулы из раздела 5.2. осталось малость - элементы трансформирования.
    Они секретные? Если Нет Где можно их взять? Если Да то:
    3. Различные программы выполняют такое ( МСК50-WGS84 ) преобразование значит эти секретные элементы трансформирования в них есть. Изучая вопрос изыскания секретных элементов я так понял, что они не из секретной книжки взяты, а попросту рассчитаны опытным путем, зная координаты 3 пунктов в МСК50 и СК-42 (95) рассчитываются параметры преобразования.
    Правильно я понял?
    4. В пункте 5.2 изучаемого ГОСТа в конце первого абзаца говориться, что точность элементов трансформирования определяет точность преобразований. Мне не нужна миллиметровая точность, 0.5м. достаточно исходя из поставленной задачи. Если такая точность не приведет к появлению секретности в параметрах то где их родимых взять?​
    --- Сообщения объединены, 22 апр 2015, Оригинальное время сообщения: 22 апр 2015 ---
    stout Спасибо Друг!!! Завтра на свежую голову буду осмыслять описанный тобой АЛГОРИТМ.
    Изучая ГОСТ у меня сложился определенный порядок действий, вот он http://geodesist.ru/forum/threads/П...-другую-Читать-всем.18076/page-50#post-475898.
    Правильно ли я изложил усвоенный материал?
     
    #11
  12. adon73

    Форумчанин

    Регистрация:
    26 июл 2011
    Сообщения:
    1.408
    Симпатии:
    176
    Точнее будет МСК-50 - СК-63 (простой сдвиг по XY) - СК-42 (отличие в Ц.М., смещении по X, и др.) - ПЗ-90.02 - WGS84
    СК-95 не имеет отношения к МСК-50...
     
    #12
    RoBo нравится это.
  13. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.936
    Адрес:
    Златоглавая и Белокаменная
    Не обязательно. Используя ассоциативность и дистрибутивность умножения матриц, можно получить параметры перехода, минуя ПЗ-90.
    (Ну надо было людям показать, что без ПЗ-90 никуда, вот и вкорячили их там, где можно и без них обойтись. В других делах — да, архиважная во многих смыслах штука, но конкретно здесь она не нужна.)
    Во всех геодезических программах и различных калькуляторах именно так и происходит. (С разными нюансами. В программах от Leica не используют упрощение, когда косинусус очень малого угла заменяют единицей, а синус — самим углом).

    В обозначениях ГОСТ, сначала формулы 32-34, но с другими значениями β и z0 (формулы 35,36).
    Затем формула 1, и только потом пункт 5.2 формула 20.
    Для вычисления геодезической широты B, вместо формул 4-17
    я рекомендую следующую модификацию формулы Боуринга

    Точность этой формулы очень высока, число верных десятичных знаков в широте можно посмотреть на рисунке
    Contours_MyBest_SmallH.png
    Долготу лучше вычислять не по формулам 7-8
    а так

    Это модификация старой формулы Ваничека
     
    #13
    RoBo нравится это.
  14. RoBo

    Регистрация:
    27 мар 2015
    Сообщения:
    11
    Симпатии:
    2
    Друзья спасибо за поддержку!!! Осмысляю...
     
    #14
  15. RoBo

    Регистрация:
    27 мар 2015
    Сообщения:
    11
    Симпатии:
    2
    С преобразованием по формулам Гелмерта более менее все ясно.
    Вопрос что делать с высотой из пункта 2...откуда растут ноги этого вопроса?
    Прочитал, что подобное преобразование можно выполнить по формулам Молоденского, минуя этап перевода геодезических сферических координат в прямоугольные. В формулах присутствуют параметры dX, dY, dZ геоцентрического смещения. Где их раздобыть?
     
    #15
  16. RoBo

    Регистрация:
    27 мар 2015
    Сообщения:
    11
    Симпатии:
    2
    Уважаемые Знатоки Внимание Вопрос:
    1. От прямоугольных координат в проекции Гаусса-Крюгера переходим к геодезической широте и долготе. [X,Y]→[B,L]
    в формулам перехода фигурирует n-номер шестиградусной зоны в проекции Гаусса-Крюгера, однако в МСК-50, судя по значениям долготы осевого меридиана зоны 3-х градусные. Что делать?
    P.S. Как я понял надо осуществить переход
     
    #16
  17. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.936
    Адрес:
    Златоглавая и Белокаменная
    Номер зоны служит для вычисления долготы осевого меридиана, который потом и используется в формулах. Для МСК приведены значения самих осевых меридианов. Вот их и надо подставлять в формулы проекции.
     
    #17
  18. RoBo

    Регистрация:
    27 мар 2015
    Сообщения:
    11
    Симпатии:
    2
    n еще используется в формуле для расчета вспомогательной величины z0. это если по ГОСТ. Для МСК-50 Зона 2 n=2?
    Еще в параметрах проекции МСК-50 есть смещения по осям (поправьте если это не так ) как их учесть?
    --- Сообщения объединены, 13 май 2015, Оригинальное время сообщения: 13 май 2015 ---
    stout спасибо за помощь, а то больше и спросить не кого
     
    #18
  19. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.936
    Адрес:
    Златоглавая и Белокаменная
    Выражение (10n + 5)·105 для z0 — это и есть смещение по восточной оси (ось Y). В практике применения проекции Гаусса-Крюгера для СК-42 для того чтобы не было отрицательных координат, к величине "y" прибавляют 500 км = +5·105 м, а потом спереди приписывают номер зоны 10n ·105. В МСК вместо "5" может быть и "3" и "2.5". Поэтому используют не регулярное выражение, а приводят полное смещение (10n + k)·105. Вот это полное смещение по "y" и надо использовать для вычисления z0.
    З.Ы. Исторически (вероятно со времени работы Крюгера в 1912 г) сложилось так, что в проекции Г-К применяется левая система координат. Ось X смотрит вверх на север, ось Y — на восток, вправо. Во всех других проекциях и картографических системах дело обстоит ровно наоборот. Это надо иметь в виду, когда читаешь зарубежных авторов.
     
    #19
    RoBo нравится это.
  20. RoBo

    Регистрация:
    27 мар 2015
    Сообщения:
    11
    Симпатии:
    2
    С "полным смещением" разобрался. Конечный результат есть, но он не совпадает со значениями полученными в GeoCalculator. Разница по долготе 3,5 секунды, по широте 133 секунды...Мне так и не удалось заставить работать формулы из ГОСТ для расчета широты, поэтому использовал приведенные ниже (взял из пособия по высшей геодезии):

    , [​IMG]
    В чем может быть ошибка?
     
    #20

Поделиться этой страницей

  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление