BLAB - программка вычисления "ключей" для МСК

Тема в разделе "Программы для пересчета координат и поиска ключей", создана пользователем stout, 19 июл 2012.

  1. Evgeny_123

    Evgeny_123 Форумчанин

    А как же?! Пересекались.... только давно-давно.... тогда он был начальником "горы"... С тех пор ... увы... ::mad24.gif::
     
  2. SergKo

    SergKo Форумчанин

    http://ne-grusti.narod.ru/Glossary/projections.html
     
  3. stout

    stout Форумчанин

    Order3.png Order4.png Order2.png
    Как я вас проклинал, как проклинал. ::smile24.gif::
    И как я вам благодарен за то, что сподвигли дописывать программку, которую я обещал дописать Андрюше Лапову ещё лет 10 тому назад. Пока только отрабатываю различные алгоритмы конформного отображения одной плоскости на другую с помощью комлЕксных полиномов.
    Вот предварительные результаты по вашим данным.
    Order2.png Order3.png Order4.png
    Отображение старой отсчётной основы в новую с помощью комплексных полиномов используется в странах Бенилюкса. Полиномы третьей степени в Бельгии, четвертой - в Нидерландах.
     
  4. adon73

    adon73 Форумчанин

    Всегда рад :)
    Даже не смею надеяться, чтобы увидеть вашу разработку на данном сайте... :)
     
  5. X-Y-H

    X-Y-H Администратор Команда форума

    Александр Юрьевич, полиномы это хорошо всегда, но как только выходишь за границы контура поля точек, то полином может весьма хитро загнуться и тогда невязка будет большой. Внутри контура полином может дать более хороший результат чем поиск ключа.

    ::off:: Слова не мои - знающих людей.
     
  6. adon73

    adon73 Форумчанин

    Естественно, полиномы это очень "узкое" решение конкретной задачи на локальном участке внутри контура исходных точек...
    В частности, именно таким решением решается пересчет СК-95 <-> СК42 для локальной территории, другое дело, что матрица исходных точек должна была бы создана компетентными организациями. Реализовано же аналогичное решение по Северной Америке (NADCON)...
     
  7. stout

    stout Форумчанин

    И да и нет. Иногда и внутри интервала интерполирования можно получить полную чушь. Иногда наивысшая алгебраическая точность достигается именно за пределами области интерполирования.
    Если вспомнить, как начинается вывод формул проекции Г-К в большинстве учебников, то можно понять, почему комплЕксные полиномы - это то, что доктор прописал. Они идеально подходят для конформного отображения одной плоскости на другую.
    Мне было бы интересно, если бы знающие люди для слепого тестирования подобрали пример, который был бы трудным с их точки зрения. Конечно, если у них есть желание и время для подготовки такого примера.
    Понятие локального участка у каждого своё.
    На приводимых ниже скриншотах размер участка 87.8 км х 37.7 км. Это локальный участок, или уже нет?
    Прямоугольные координаты условно можно назвать СК-42 и СК-63. Получены по очень точным формулам проекции Г-К из одних и тех же геодезических координат. Видно, что точность интерполирования для участка такого размера в большей степени зависит от точности исходных данных, а не размера участка. Ошибка интерполирования в худшем случае - 1-2 знака точности представления исходных данных.
    Order3Astr63R2-dp3.png Order3Astr63R2-dp5.png

    Оффтоп
    Полностью переделываю алгоритм.
    Ухожу от комлЕных полиномов в сторону гармонических полиномов.
    С точки зрения математики коэффициенты разложения полностью идентичны, но одно дело - сингулярное разложение комплекснозначной матрицы, и совсем другое дело SVD для обычной переопределённой системы условных уравнений.
    Борюсь с Windows. Постоянно какие-нибудь службы или программы, сбрасывают слово состояния процессора (PSW) в 64- битную арифметику с плавающей точкой. А именно для этой задачи три дополнительных десятичных знака в мантиссе числа оказываются очень важными.
     
    Lex K-G нравится это.
  8. stout

    stout Форумчанин

    Сделал тестовый пример, довольно интересный результат получился (на мой взгляд).
    Итак, по порядку.
    1. Задал геодезические координаты в WGS 84, так, чтобы точка была на краю зоны UTM.
    2. Округлил координаты точки в UTM до целых км. (зачем это было сделано будет ясно из дальнейшего).
    BLH(WGS84)-UTM(Zone37).png
    Обратный перевод в геодезические - простая формальность. Для дальнейшего они не нужны.
    Эта точка является центром квадрата 40х40 км.
    3. С шагом в 1 км. сгенерировал координаты остальных 1680 точек. В имени точки содержится информация об её координатах относительно центральной точки. Т. е. N-20E-20 - крайняя юго-западная точка, а N+20E+20 крайняя северо-восточная. (Только бы не появился Vladimir VV и не стал поучать, что раз в названии не упоминается юг, а есть север, то и координату надо всегда откладывать на север.)
    4. С помощью табличного калькулятора Pinnacle после неприятной, довольно длительной задержки, получил эти координаты в CK-42, но не в 7 зоне, а в 8-ой, что слегка усложняет задачу. Кроме того, прошу обратить внимание, что отличаются и отсчётные системы, и эллипсоиды и масштаб на осевом меридиане.
    Код:
     Table calculator
    Left pane :
    Grid : UTMN
    Zone:  Zone_37 : 36E to 42E
    Unit name : Meters
    Name    Northing,m Easting,m Height,m
    N-20E-20 6189000    636000    0       
    N-20E-19 6189000    637000    0       
    N-20E-18 6189000    638000    0       
    N-20E-17 6189000    639000    0       
    N-20E-16 6189000    640000    0       
    N-20E-15 6189000    641000    0       
    N-20E-14 6189000    642000    0       
    N-20E-13 6189000    643000    0       
    N-20E-12 6189000    644000    0       
    N-20E-11 6189000    645000    0       
    …
    Right pane :
    Grid : SK1942
    Zone:  Zone_8 : 42E to 48E
    Unit name : Meters
    Name Northing,m    Easting,m    Height,m 
    1    6196070.765606 260216.535133 -8.031669
    2    6195984.12323  261213.652952 -8.01329 
    3    6195897.482157 262210.761643 -7.994913
    4    6195810.842385 263207.861204 -7.976539
    5    6195724.203912 264204.951635 -7.958167
    6    6195637.566736 265202.032936 -7.939798
    7    6195550.930854 266199.105108 -7.921431
    8    6195464.296265 267196.168148 -7.903066
    9    6195377.662967 268193.222059 -7.884704
    10  6195291.030957 269190.266838 -7.866344
    
    5. За исходную принял СК-42.
    Так как в целевой СК точки имеют "круглые" координаты, то все ошибки преобразования можно оценить визуально.
    6. В качестве опорных точек принял центральную и плюс ещё 8 точек, лежащих в углах квадратов 10х10 и 20х20 км. На скриншоте приведены невязки по опрным точкам для комплексного полинома 3 степени. (восемь действительных неизвестных. Т.к. оценка происходит по МНК, то надо минимум 5 опорных точек.)
    BasePoint20x20-dp5.png
    7. С полученными параметрами пересчитал координаты контрольных точек
    TransPonts_beg_Table_20x20-dp5.png TransPonts_middle_Table_20x20-dp5.png TransPonts_end_Table_20x20-dp5.png
    Видно, что при удалении от опорных точек точность преобразования падает.
    На расстоянии от центра в 2 раза большем, чем расстояние от центра до крайней опорной точки точность в 10 раз хуже точности задания координат, но всё равно не превосходит 0,1 мм.
    Вот и часть ответа на вопрос, как далеко можно выходить за район опорных точек.
    При увеличении степени полинома до 4, точность чуть улучшается.
    Этот пример демонстрирует методическую точность алгоритма.
    На практике, когда каталожные координаты известны с сантиметровой точность, всё может быть не так радужно.
     
  9. stout

    stout Форумчанин

    Попробовал посчитать по программе уважаемого Valang, получил следующий результат
    Код:
      ТРАНСФОРМИРОВАНИЕ КООРДИНАТ
     
                              Исходные пункты для трансформирования
    ----------------------------------------------------------------------------------------------------------
    Название              X                Y              X1              Y1              dX              dY            dS
    ----------------------------------------------------------------------------------------------------------
    N-10E-10        6205174.647      271054.060    6198999.083      645999.953        -0.917          -0.047          0.918
    N-10E+10        6203440.475      290992.602    6199000.917      666000.045        0.917          0.045          0.918
    N-05E-05        6209725.904      276472.725    6203999.771      650999.988        -0.229          -0.012          0.229
    N-05E+05        6208858.363      286441.934    6204000.229      661000.012        0.229          0.012          0.229
    N+00E+00        6214276.706      281891.328    6209000.000      656000.000        0.000          0.000          0.000
    N+05E-05        6219695.504      277340.784    6214000.229      651000.011        0.229          0.011          0.229
    N+05E+05        6218827.054      287309.867    6213999.771      660999.989        -0.229          -0.011          0.229
    N+10E-10        6225114.756      272790.304    6219000.915      646000.047        0.915          0.047          0.916
    N+10E+10        6223376.947      292728.344    6218999.084      665999.954        -0.916          -0.046          0.917
    ----------------------------------------------------------------------------------------------------------
    Исходных пунктов - 9
    Ср. ошибка совмещения пункта = 0.509м
    Условное начало: X0= -2044.49586753629  Y0= 914020.86437452
    Общая ошибка определения X0 и Y0 = 0.2101м
    Угол разворота = 355°1'26.0651700116023"        Ошибка угла = 1.5544"
    Масштаб  преобразования  = 0.999314316171297    Ошибка масштаба = 0.0000075325
     
                        Перевычисленные  координаты
    ----------------------------------------------------------------------------
    Название              X              Y              X1            Y1
    ----------------------------------------------------------------------------
    N-20E-20        6196070.766      260216.535    6188996.331      635999.808
    Этот результат удалось полностью воспроизвести путём аппроксимации полиномом 1 степени
    ==Calc_Koord.png
    Но уже полином 2 степени даёт вполне разумный вариант
    Compare==Calc_Koord_degree_2.png
    Вполне допускаю, что программа уважаемого Valang, покрывает нужды в 99,99% случаев практики.
    На всякий случай прикрепляю тестовый файл для программы Valang
     

    Вложения:

    adon73 нравится это.
  10. Это все конечно хорошо-можно выложить ПОСЛЕДНИЕ ссылки на обе проги???
     
  11. stout

    stout Форумчанин

    Ссылка на программу уважаемого Valang дана на 2 странице
    Так как же все-таки работать в МСК?
    Про свою же поделку могу только повторить уже сказанное: "Пока только отрабатываю различные алгоритмы конформного отображения одной плоскости на другую с помощью комлЕксных полиномов."
    Разница между ними существенная. Программа Valang'a есть и работает, я же только делаю свою.
    Посты пишу для того что бы показать, что работа не заглохла.
    Это - всего лишь хобби, на которое не так много времени.
    Из бесплатного могу порекомендовать PHOTOMOD GeoCalculator
    Он мне не нравится, мне вообще все геокалькуляторы не нравятся.
    Но это, пожалуй, лучшее из бесплатного.
     
  12. X-Y-H

    X-Y-H Администратор Команда форума

    Оффтоп
    Это почему? Если не секрет конечно.
     
  13. Valang

    Valang Форумчанин

  14. добрый вечер всем!!! выложите ссылки на проги: ++BLab, CPlan, archaeoSYS, хочется поэксперементировать!

    Пожалуйста!!!
     
  15. X-Y-H

    X-Y-H Администратор Команда форума

    а что это
     
  16. если почитать всю тему, то есть скрин-шоты в которых в командной строке написаны такие названия программ
     
  17. unknown

    unknown Форумчанин

    эта, братан... так и читай тему, а не тексты на скриншотах... тут все ссылки есть...
     
  18. что разве сложно ссылки выложить на эти файлы
     
  19. В.Шуфотинский

    В.Шуфотинский Модератор Команда форума

  20. Slinger

    Slinger Форумчанин

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