[PHP, Глобальные системы позиционирования, JavaScript, Геоинформационные сервисы] Как высчитать ключи перехода от лобой системы координат к WGS с сантиметровой точностью?

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
03-Окт-2020 20:31

Для кого этот пост — картографы, геодезисты, генпланисты, строители и т.д.
Коллеги, привет!
Решаемая проблема — получение 100% достоверных параметров для пересчета координат, например в привычные картографические градусы (WGS84). Коллеги уже поняли про что я, а любопытным поясню — дело в том, что гуляющие по интернету приложения и алгоритмы с параметрами пересчета координат например из выписки ЕГРН на вашу дачу в координаты для GPS приемника, в подавляющем большинстве будут «лаптем по карте». Для поиска объекта размером с дом, это не будет проблемой, а вот для инженерной затеи, уже слабовата точность. К примеру мы хотим обозначить границы на местности с сантиметровой точностью, найти трубу под землей или кабель, запустить безпилотник по картам с плоскими координатами, чертить чертеж в плоских координатах с картографической онлайн основой из интернета и многое другое, что требует субметровой точности.
Почему точные координаты становятся не точными
Плоские метровые координаты, знакомые нам из сведений о нашей недвижимости или с проектов и чертежей очень точны локально, но для привязки их к земному шару одной математики мало. Дело в том, что математическая модель «плоской, метровой» системы координат из документов, сначала была реализована на местности в виде геодезических пунктов, с точностью тех технологий, какие были на тот момент (в РФ большая часть систем координат развита в советское время и действуют по сей день). И уже потом от этих геодезических пунктах первого класса, создавались другие, от тех еще другие, от них всех производные секретные системы координат такие как СК63 с разворотами и искажениями координатной сетки, дабы врага запутать. При каждом таком преобразовании допускались искажения, незначительные, но нарастают они не линейно относительно количества преобразований, а намного прогрессивнее. В итоге большая часть координатных сеток сейчас похожа на чуть помятую и стянутую с одного краю простыню. Именно по этому 99% геокалькуляторов не спасут Вас от «помятой простыни» координатной сетки. Есть несколько геодезических сервисов для пересчета координат, платных, могу предположить, что там люди считают не по теоретическим параметрам системы координат, а обладают всеми параметрами «помятой простыни». В большей части РФ надо рассчитывать параметры системы координат для небольших территорий, радиус этих территорий часто не превышает 15км. При таких небольших территориях искажения координатной сетки часто не превышает сантиметра, система координат очень точно «лежит» на земном шаре. Если Ваш интерес вылезает за 20-30км пространства, то необходимо несколько локальных параметров перехода рассчитывать на меньшие территории, дробить систему координат на более мелкие подзоны.
Изобретаем велосипед?
Для целей расчета истинных параметров систем координат оказывается «вагон» ПО. Правда это как правило составляющие сложных и дорогостоящих профессиональных программных комплексов для геодезии и картографии, которые далеко не всем профессионалам даже нужны, еще часть ПО работает на винде с непонятными и сложно употребляемыми форматами фалов. Есть еще варианты из командной строки. Вдохновившись статьей на профильном форуме решили написать своё ПО с блекджеком и вебом.

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

Много непонятных букв

SPL
Геоцентрическая система координат, это система где есть три пространственные координатные оси проходящие через центр земли. Координаты в такой системе имеют вид 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), можно рассматривать как значение смещения начала отсчёта координат в плоской МСК.

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

Исходный код веб формы доступен с лицензией AGPL в открытом репозитории.
Обсуждение веб формы тутачки.
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_php, #_globalnye_sistemy_pozitsionirovanija (Глобальные системы позиционирования), #_javascript, #_geoinformatsionnye_servisy (Геоинформационные сервисы), #_gis (ГИС), #_msk (МСК), #_wgs84, #_gps, #_karty (карты), #_geodezija (геодезия), #_koordinaty (координаты), #_php, #_globalnye_sistemy_pozitsionirovanija (
Глобальные системы позиционирования
)
, #_javascript, #_geoinformatsionnye_servisy (
Геоинформационные сервисы
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 22:32
Часовой пояс: UTC + 5