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

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

Войти

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

Тема в разделе "Civil 3D", создана пользователем GeOdessit, 30 апр 2015.

  1. GeOdessit

    Форумчанин

    Регистрация:
    19 дек 2013
    Сообщения:
    674
    Симпатии:
    149
    Адрес:
    из Мамы, Украина
    Существует ли команда/утилита/лисп, которая позволяет преобразовать координаты из одной плоской системы в другую по параметрам: сдвиг, поворот, масштаб?

    Суть проблемы: Передаю проектировщикам съёмки в СК-63 (в метрах), а обратно получаю генпланы в миллиметрах, со смещением и поворотом. Каждый раз приходится вручную выполнять обратное преобразование (для последующей разбивки) - уже запарился)))
     
    #1
  2. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    3.253
    Симпатии:
    931
    Адрес:
    gnomtrir@mail.ru
    _align
    А вообще за такое надо сильно бить по рукам
     
    #2
    Robkiy, -=13=-, АлексейМанс и 3 другим нравится это.
  3. Сантьяго

    Форумчанин

    Регистрация:
    9 янв 2008
    Сообщения:
    898
    Симпатии:
    354
    Адрес:
    Краснодар
    Если обратно передают в мм то aliln особо не поможет, есть команда _dwgunits, если интересует преобразование то Civil, если нет Civil , у вас автокад и есть в наличии пинакл то посмотрите http://www.sktisiz.ru/solutions/topography/ , еще можно воспользоваться Global Mapper ( русскую версию лучше не ставить)
     
    #3
  4. Андрей Р.

    Форумчанин

    Регистрация:
    24 июл 2008
    Сообщения:
    3.953
    Симпатии:
    896
    Адрес:
    Калуга - Владивосток.
    О как хорошо, что вылезла эта команда, чаще всего пользуюсь ей для выравнивания растра и все радовало. Но вот решил ей подравнять кадовский файл, если фаил маленький то проблем не возникало, но если фаил большой, особенно это касается протяженных объектов, то начинаются чудеса, полилинии пререкручиваются в 3д полилинии, и в произвольном порядке меняют свою высоту, если я их высоту меняю на "0" то они смещаются в плане. Ктонить сталкивался, как быть с такой шляпой?
     
    #4
  5. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    3.253
    Симпатии:
    931
    Адрес:
    gnomtrir@mail.ru
    потому что точки привязки с разными Z?
     
    #5
  6. GeOdessit

    Форумчанин

    Регистрация:
    19 дек 2013
    Сообщения:
    674
    Симпатии:
    149
    Адрес:
    из Мамы, Украина
    Спасибо. То, что доктор прописал.
    Причём у меня сильно нагруженные файлы, и выбор ctrl+a сильно грузил систему (на секунд 10). А в команде _align выбор объектов происходит практически мгновенно.
    --- Сообщения объединены, 30 апр 2015, Оригинальное время сообщения: 30 апр 2015 ---
    Думаю, именно так и было.
    Ещё, я когда ввожу координаты целевых точек, то пользуюсь префиксом "#" (абсолютные координаты), иначе мой цивил воспринимает координаты как относительные. Это настройки динамического ввода, но в остальных случаях удобно так и менять нет желания.
     
    #6
  7. GeoSuSeL

    Регистрация:
    24 мар 2011
    Сообщения:
    12
    Симпатии:
    8
    Адрес:
    Тюмень
    Здравствуйте!
    Нужна помощь. Имеется ГОСТ 32453-2013 (п.5.4.1 и п.5.4.2), а также его проящуры: ГОСТ Р 51794-2001 (п. 4.3) и ГОСТ Р 51794-2008 (п.5.4)
    Преобразование геодезических координат в плоские прямоугольные координаты и обратно.
    В ГОСТе указано, что плоские прямоугольные координаты с погрешностью не более 1 мм вычисляются по указанным формулам. Т.е. логически решение прямой, а затем обратной задачи должны приводить к исходным данным. Данное равенство у меня не получается, разбег 200-300 м.
    Имеется ли у кого-нибудь положительный опыт решения данной задачи. Если да, то напишите.
     
    #7
  8. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    3.253
    Симпатии:
    931
    Адрес:
    gnomtrir@mail.ru
    это какие?
    если нужны мм
    если хватит м
     
    #8
  9. vicyur

    Форумчанин

    Регистрация:
    24 сен 2010
    Сообщения:
    496
    Симпатии:
    84
    Адрес:
    г. Петрозаводск, Карелия
    Да и в какой проге, если не секрет, не на калькуляторе же считали?
     
    #9
  10. GeoSuSeL

    Регистрация:
    24 мар 2011
    Сообщения:
    12
    Симпатии:
    8
    Адрес:
    Тюмень
    Геодезические координаты: широта и долгота. Считаю в excel. Пробую уже ради принципа. Есть математическое описания прямой и обратной задачи, а также фраза, что 0.001 м. Но круг вот не замыкается. Прямо с обратно не бъёт! Значит где-то ляп. Я свои формулы проверил-перепроверил. Но ведь должно получиться. Это ведь ГОСТ! Документ, который выпускается с строгим рецензированием и проверкой работы формул.
    Исходные данные: в градусах
      
    59,1030404869,98723550
    В плоских координатах:
     
    6554680,20812556571,653
    Обратная задача

      
    59,1065767969,26027595
    Если уже у кого-то получилось посчитать по ГОСТ, то просто скажите - "перепроверь всё и обрати внимание на то-то, так как там опечатка" или типа этого. Так как такие моменты присутствуют и в редакциях разных лет в формулах пляшут знаки степени, скобки и коэффициенты
     
    #10
  11. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    3.253
    Симпатии:
    931
    Адрес:
    gnomtrir@mail.ru
    а список опечаток счмотрели?
     
    #11
  12. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.937
    Адрес:
    Златоглавая и Белокаменная
    Не смешите мои тапки. Опубликовали тот древний алгоритм, которым сами пользовались не один десяток лет. Не отличается ни изяществом, ни точностью. Оригинальный алгоритм Крюгера в тысячи (в буквальном смысле) раз точнее и намного компактнее. А главное, не привязан ни к какому эллипсоиду.
    Недавно американские военные отказались от своего старого алгоритма, описанного в документе по картографической системе UTM и вернулись к истокам, т.е. к оригинальному алгоритму Крюгера (ну, почти оригинальному).
    Этот же алгоритм был подробно расписан ещё Морозовым в его книге Курс сфероидической геодезии в 1979 году.
    Прямой переход верен. Ошибка где-то в обратном счёте.
    Самое лучшее — приведите кусок кода.
    --- Сообщения объединены, 30 апр 2015, Оригинальное время сообщения: 30 апр 2015 ---
    ::biggrin24.gif:: А его как бы не было никогда. Во второй редакции знаки молча подправили — и всё.
     
    #12
    -=13=- нравится это.
  13. GeoSuSeL

    Регистрация:
    24 мар 2011
    Сообщения:
    12
    Симпатии:
    8
    Адрес:
    Тюмень
    Прикрепляю пересчёт по ГОСТ Р 51794-2008
    Алгоритм Крюгера буду изучать
     

    Вложения:

    #13
  14. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.937
    Адрес:
    Златоглавая и Белокаменная
    Посмотрите
    The Universal Grids and the Transverse Mercator and Polar Stereographic Map Projections
    Сделано просто. Тем и подкупает. Местами по-армейски кондово. Вместо того, чтобы дать формулы для вычисления коэффициентов через третье сжатие, приводят сами наборы коэффициентов для различных эллипсоидов.
    Как вычислять коэффициенты, сказано в статье Karsten Engsager
    A highly accurate world wide algorithm for the transverse Mercator mapping (almost)
    Забавляют советы, даваемые в 3.3 Notes to the developer. Ребята точно ничего не знают об алгоритме Гёрцеля или алгоритме Кленшоу. Хотя об этом сказано в статье Karsten Engsager.
    Почти этот же алгоритм сейчас есть и в библиотеке PROJ.4 (proj_etmerc.c), для суммирования рядов там как раз применяют алгоритм Кленшоу.
    Ещё один очень компактный и точный алгоритм дан в Wide zone transverse Mercator projection (2009 год). Там же приведена и программа на фортране.
     
    #14
    ErnieBoyd, Geoshaman, Stepan_S и 2 другим нравится это.
  15. GeoSuSeL

    Регистрация:
    24 мар 2011
    Сообщения:
    12
    Симпатии:
    8
    Адрес:
    Тюмень
    Разобрался! Пишу тем, кто споткнется на этих апечатках.
    ГОСТ 32453-2013 п.5.4 Всё верно .... почти формула 32, первая строка 0,00000011904
    Апечатки в ГОСТ Р 51794 2001 формула 31 (10 в минус 6), но это сразу в глаза бросается, далее формула 33 - знаменатель (6378245*cosB0)
    --- Сообщения объединены, 6 май 2015, Оригинальное время сообщения: 6 май 2015 ---
    Прикрепляю пересчёт. Спасибо Stout за сужение поиска в два раза
    --- Сообщения объединены, 6 май 2015 ---
    Прикрепляю пересчёт. Спасибо Stout за сужение поиска в два раза
     

    Вложения:

    #15
    Geoshaman, Stepan_S, -=13=- и 2 другим нравится это.
  16. yeti

    Форумчанин

    Регистрация:
    24 апр 2014
    Сообщения:
    60
    Симпатии:
    0

    Датум1
    XYZ
    7 параметров
    WGS84
    XYZ
    7 параметров
    датум 2
    XYZ

    Датум1
    XYZ
    7 параметров
    +
    7 параметров

    датум 2
    XYZ
    подскажите правильные вычисления
     
    #16
  17. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.937
    Адрес:
    Златоглавая и Белокаменная
    Забыли как матрицы перемножаются и складываются? Бывает.
    Подставляете первое уравнение во второе, приводите подобные члены и всё. R — матрица вращения 3×3, m — скаляр, отличие масштаба от единицы.
     
    #17
    Qvinto нравится это.
  18. yeti

    Форумчанин

    Регистрация:
    24 апр 2014
    Сообщения:
    60
    Симпатии:
    0
    да бывает)))

    вот еще :
    в наших источниках (Б.Б. Серапинас ГЕОДЕЗИЧЕСКИЕ ОСНОВЫ КАРТ) формулы такие

    а вот в описании UTM (TM8358_2.pdf) есть такие коэффициенты:

    вроде как коэффициенты те же только больше, но от этого должна только точность вырасти, а выходит наоборот


    исходные
    ск 42 зона 18

    они же
    ск 42 зона 16
     
    6152298.75718537072.3596224419.36317293251.244геокалькулятор
    6224419.28068917293251.244087короткие формулы
    6224419.24362823 формулы UTM
    да расчет велся по параметрам мапинфо
    ΔX, мΔY, мΔZ, мωX"ωY"ωZ"m*10-6
    24-123-94-0.020.250.131.1
     

    Вложения:

    #18
  19. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.937
    Адрес:
    Златоглавая и Белокаменная
    Постойте-постойте. Вы тёплое с мягким путаете. Причём здесь формулы проекции типа Гаусса-Крюгера? Какое они отношение имеют к первоначальному вопросу о формулах семипараметрического преобразования?
    Да, в табличке "врут" формулы и из "геокалькулятор" и "короткие формулы". Слово врут взял в кавычки потому что вы применяете эти программы за пределами из возможностей.
    А вот эта программка не врёт
    Безымянный.png
    ::laugh24.gif::::laugh24.gif::::laugh24.gif::
    Во вложении простенькая программка без GUI. Переделал на скорую руку из программки тестирования CPlane, даже название не поменял, забыл. Позволяет пересчитывать из Transverse Mercator с одними параметрами в другую ТМ с тем же datum.
    Файл CustomSYS.ini уже настроил под ваш пример. Source.txt — файл исходных координат, восточная координата без номера зоны. Использовал известную библиотеку GeographicLib. Точность используемых там формул — несколько нанометров. После запуска в той же папке появится файл результатов. В archaeoSYS используется аналогичный алгоритм, отличие в небольших деталях. Вот только использую я его с начала 90-х (Алексей Германович Чернявский не даст мне соврать).
    Если хотите высокой точности и простоты, настоятельно рекомендую первую ссылку из http://geodesist.ru/forum/threads/p...-ploskoj-sistemy-v-druguju.42027/#post-479425
     

    Вложения:

    • Zone2Zone.7z
      Размер файла:
      296,2 КБ
      Просмотров:
      32
    #19
  20. yeti

    Форумчанин

    Регистрация:
    24 апр 2014
    Сообщения:
    60
    Симпатии:
    0
    Все верно, это уже не про семипараметрическое преобразование ::rolleyes24.gif::
    Наверно надо освоить вашу программу , ото что то попробовал, не получилось и бросил пока.
    Только выходит что по формулам из UTM результат еще хуже, а ведь как говорят что от увеличения количества членов точность должна повышаться.
    А как определить точность вычислений - что то типа величина последнего отброшенного коэффициента?

    п.с. датум то тут не причем, все же на одном датуме делается:Fool2:
     
    #20

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

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