Веб форма калибровки - расчета ключей перехода. Опенсорс!

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

  1. zemli

    zemli Форумчанин

    Решаемая проблема — получение 100% достоверных параметров для пересчета координат, например в WGS84.
    Изобретаем велосипед?

    Для целей расчета истинных параметров систем координат оказывается «вагон» ПО. Правда это как правило составляющие сложных и дорогостоящих профессиональных программных комплексов для геодезии и картографии, которые далеко не всем профессионалам даже нужны, еще часть ПО работает на винде с непонятными и сложно употребляемыми форматами фалов. Есть еще варианты из командной строки. Вдохновившись статьей на профильном форуме решили написать своё ПО с блекджеком и вебом.
    [​IMG]
    Расскажу кратко как это работает:

    Для расчета параметров нам нужны три точки (можно больше, будет точнее) в двух системах координат, в WGS и в той самой местной системе координат, параметры которой Вы хотите знать. Плоские метровые координаты берем из каталогов, кадастровых планов территорий, карточек привязок и т.д. Градусные координаты или из тех же источников, либо часто используем координаты GNSS базовых станций, либо берем спутниковый приемник, и просто замеряем эти известные в плоских координатах точки.
    Веб форма высчитывает параметры системы координат и выводит на экран в двух популярных и применимых в 99% ГИС системах форматах — proj строка и WKT.

    За основу взяты опенсорсные пакеты —
    • proj4 для геодезических трансформаций
    • Leaflet для отображения информации на карте
    • geophp для расчета территории действия параметров с сантиметровой точностью (на момент написании статьи не реализовано)

    Исходный код веб формы доступен с лицензией AGPL в открытом репозитории.
    Обсуждение веб формы тутачки.
    Много букв про параметры: (раскрыть)
    Геоцентрическая система координат, это система где есть три пространственные координатные оси проходящие через центр земли. Координаты в такой системе имеют вид x,y,z или привычные нам широта и долгота измеряемые градусами угла от нулевой точки через землю lat long h. При этом высота h отсчитывается не от центра земли как в первом случае, а от эллипсоида, сферы, геоида (упрощённой модели поверхности земли).
    Прямоугольная система координат — система координат построенная на поверхности земли пренебрегающая её «округлостью». Такие системы координат очень удобны в использовании на небольших расстояниях, позволяют не проводить сложных математических операций для расчёта привычных нам расстояний на поверхности земли. Такие СК часто применяются в строительстве, картографии, геодезии.
    Местная система координат (МСК) — как правило прямоугольная система координат, обслуживающая небольшую локальныю территорию. Часто распостраняется на территорию района или города, где её искажения не критичны для точности строительства, кадастра и т.д.

    Параметры системы координат состоят из нескольких отдельных параметров, опишем каждый из них. Возьмём строку параметров PROJ4 (MapInfp, ArcGIS и т. д. Так же используют эти параметры, только структура записи иная): +proj=omerc +lat_0=59.8338730825 +lonc=33 +alpha=-0.0001 +gamma=-1.771957267229058 +k=0.9996584453038837 +x_0=2365031.423134961 +y_0=426397.2888527482 +ellps=krass

    Модель земного шара (+ellps=krass)— в нашем случае это эллипсоид Красовского. Под этим названием эллипсоида скрывается параметры примерного описания земного шара: направление координатных осей и углы между осями, диаметр, сжатие на полюсах и т. д. Выбрать необходимый эллипсоид можно опытным путём либо зная основываясь на какой системы координат родилась интересующая вас МСК. На территории РФ, большая часть МСК выходцы из СК42 с эллипсоидом Красовского.

    Проекция земного шара на плоскость (+proj=omerc) — метод с помощью которого прямоугольные координаты проецируются за круглую землю. Самый распространённый алгоритм это «апельсиновые дольки», если порезать апельсин по долькам, отделить от долек шкурки. Расправленную шкурку положить на лист в клетку и получится проекция Меркатора. Бывают разные проекции с разными направлениями и размерами долек, бывают цилиндрические проекции, это когда апельсин превращают в цилиндр и раскатывают кожуру на плоскость, конические и т. д. Выбрать необходимую можно опытным путём либо зная основываясь на какой системы координат родилась интересующая вас МСК. На территории РФ, большая часть МСК выходцы из СК42 с проекцией Меркатора. Для точных локальных параметров МСК на малых территориях рекомендуем применять косую проекцию Меркатора (omerc).

    Центр проекции в градусах (+lat_0=59.8338730825 +lonc=33) - это то место, где расправленная «шкурка апельсина» меньше меньше всего растягивается для достижения плоскости (обычно серединка шкурки дольки), место с наименьшими искажениями. Грубо говоря место где плоский лист МСК прикасается к шарику нашей планеты. Часто для центральной точки выбирают точку центра района геодезических работ.

    Развороты (+alpha=-0.0001 +gamma=-1.771957267229058) разворот осей координат МСК относительно меридиана.

    Масштабный коэффициент (+k=0.9996584453038837), в идеале должен быть единицей. Показывает, на сколько реальное расстояние отличается от координатного. С помощью масштаба можно сразу прикинуть, как увеличивается искажение размеров при отдалении от центральной точки МСК.

    Координаты центра проекции в метрах (+x_0=2365031.423134961 +y_0=426397.2888527482), можно рассматривать как значение смещения начала отсчёта координат в плоской МСК.

    Пользуемся и пишем конструктивную критику! Спасибо за внимание.
     
    Чихун, zvezdochiot и lsv1283 нравится это.
  2. zvezdochiot

    zvezdochiot Форумчанин

    Насчёт попользоваться, какбэ с WGS дел не имею. А вот по описанию не обозрел возможностей импорта. Есть таковые?
     
  3. zemli

    zemli Форумчанин

    импорта точек для расчета параметров имеется в виду?
    Импорта нету, можно сделать, но не представляю как должны выглядеть импортируемые исходники?
     
  4. zvezdochiot

    zvezdochiot Форумчанин

    Ты автор, тебе и решать. Но желательно что-нибудь простое, например CSV.
     
  5. zemli

    zemli Форумчанин

    если накидаете образцов csv то будет над чем подумать )
     
  6. zvezdochiot

    zvezdochiot Форумчанин

    С этим у меня небольшая проблема:

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