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

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

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

    Geo_major Форумчанин

    1. Скачать программу,
    2. Внимательно прочитать мануал.
    3. Перевести за 15 секунд ваши координаты.
    4. Сделать из них KML и посмотреть на Гугл планета земля.
     
    adon73 нравится это.
  3. stout

    stout Форумчанин

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

    Geo_major Форумчанин

    Была у меня похожая задачка, заказчик хотел лично на гугле посмотреть, где именно будем снимать его трассу. Было почти 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. Заказчик доволен и этот заказ ваш. )))​
     
    adon73 нравится это.
  5. stout

    stout Форумчанин

    В документе
    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
     
  6. Родичкин

    Родичкин Форумчанин

    Оффтоп

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

    trir Форумчанин

    Однако в Map 3D dwg=>kml - делается в одно движение
     
  8. stout

    stout Форумчанин

    Да нет, ему действительно нужен алгоритм, и он действительно есть в этом приснопамятном ГОСТ (ну почти весь, просто надо понимать, как те формулы использовать.)
    Оффтоп

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

     
  9. Geo_major

    Geo_major Форумчанин

    Конечно, если есть MAP 3D и это движение доведено до автоматизма. )))
     
    stout нравится это.
  10. stout

    stout Форумчанин

    Извините за резкость реакции, среагировал на вашу фразу:"Изучил ГОСТ 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::
     
    uriygr, RoBo и Geo_major нравится это.
  11. 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.
    Правильно ли я изложил усвоенный материал?
     
  12. adon73

    adon73 Форумчанин

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

    stout Форумчанин

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

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

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

    Это модификация старой формулы Ваничека
     
    RoBo нравится это.
  14. Друзья спасибо за поддержку!!! Осмысляю...
     
  15. С преобразованием по формулам Гелмерта более менее все ясно.
    Вопрос что делать с высотой из пункта 2...откуда растут ноги этого вопроса?
    Прочитал, что подобное преобразование можно выполнить по формулам Молоденского, минуя этап перевода геодезических сферических координат в прямоугольные. В формулах присутствуют параметры dX, dY, dZ геоцентрического смещения. Где их раздобыть?
     
  16. Уважаемые Знатоки Внимание Вопрос:
    1. От прямоугольных координат в проекции Гаусса-Крюгера переходим к геодезической широте и долготе. [X,Y]→[B,L]
    в формулам перехода фигурирует n-номер шестиградусной зоны в проекции Гаусса-Крюгера, однако в МСК-50, судя по значениям долготы осевого меридиана зоны 3-х градусные. Что делать?
    P.S. Как я понял надо осуществить переход
     
  17. stout

    stout Форумчанин

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

    stout Форумчанин

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

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