Перевод координат из прямоугольных в географические онлайн – Карта Google с удобным просмотром координат + пересчет кординат из градусов в градусы/минуты, в градусы/минуты/секунды

Перевод географических координат Pulkovo1942 в WGS84

Нужно производить перевод координат из системы координат Pulkovo1942 в WGS84, в этой заметки соберу ресурсы и книги которые помогли мне разработать, протестировать и внедрить алгоритм перевода.


Решил реализовать библиотеку на java для перевода координат https://codemonkeydeveloper.blogspot.ru/2018/01/wgs-84-pulkovo-1942.html

http://epsg.io/ — сайт с параметрами всевозможных СК и переводами между ними, сразу можно посмотреть на карте. В частности параметры для перевода между Пулково 42 и WGS-84 http://epsg.io/4284-1267 эти параметры используются в ArcMap.

http://kartograph.org/showcase/3d/ — различные проекции онлайн.

http://www.mapbasic.ru/ — очень полезны сайт, на нем представлены параметры местных систем координат регионов России. Так же есть онлайн калькулятор, который появился совсем недавно.

http://system-1963.narod.ru/ — параметры СК 63.

http://www.twirpx.com/file/745769/ или http://lib.ssga.ru/fulltext/2011/%D0%90%D1%84%D0%BE%D0%BD%D0%B8%D0%BD.%20%D0%92%D1%8B%D1%81%D1%88%D0%B0%D1%8F%20%D0%93%D0%B5%D0%BE%D0%B4%D0%B5%D0%B7%D0%B8%D1%8F.%202011.pdf — Афонин К.Ф. Высшая геодезия. Системы координат и преобразования между ними. Хорошая книга по теоретическим основам.

http://grinikkos.com/Donlowd/104/581.pdf — ОТЧЁТ по научно – исследовательской работе «Системы геодезических координат и их преобразование» http://cyberleninka.ru/article/n/tehnologii-preobrazovaniya-ploskih-pryamougolnyh-koordinat-gaussa-kryugera-v-sk-nso — ТЕХНОЛОГИИ ПРЕОБРАЗОВАНИЯ ПЛОСКИХ ПРЯМОУГОЛЬНЫХ КООРДИНАТ ГАУССА – КРЮГЕРА В СК НСО

http://gis-lab.info/docs/legislation.html#.D0.93.D0.BE.D1.81.D1.83.D0.B4.D0.B0.D1.80.D1.81.D1.82.D0.B2.D0.B5.D0.BD.D0.BD.D0.B0.D1.8F_.D1.82.D0.B0.D0.B9.D0.BD.D0.B0_.D0.B8_.D1.81.D0.B5.D0.BA.D1.80.D0.B5.D1.82.D0.BD.D0.BE.D1.81.D1.82.D1.8C —
Законодательство и нормативные документы по теме координат

http://ru.onlinemschool.com/math/assistance/matrix/multiply/ — Онлайн калькулятор. Умножение матриц.
http://planetcalc.ru/73/ — расчёт расстояния между 2-мя географическими координатами. http://vk-progs.ru/program/vk-sk42-wgs84-main — Программа пересчета координат предназначена для перевода географических координат объектов в системах СК-42, СК-95, WGS-84, ПЗ 90, ПЗ 90.02.
http://www.latlong.ru/sk.php — Онлайн пересчет координаты из систем CК-42, GPS (WGS-84), ПЗ-90, СК-95, МГС-84

http://kartaplus.ru/gps-calc — Пересчет из системы координат WGS-84 в СК-42 (Пулково) и обратноВсе угловые значения передаются и возвращаются в десятичных градусах (dd.ddddd), высоты — в метрах

http://gis-lab.info/qa/wgs84-sk42-wgs84-formula.html —
Формулы пересчета координат из WGS-84 в СК-42 и обратно
http://twcc.fr/# — онлайн перевод с одновременным отображением на Google Maps.

ГОСТы

http://www.treatface.ru/tf/pdf/%D0%93%D0%9E%D0%A1%D0%A2%20%D0%A0%2055534-2013.pdf — ГОСТ Р 55534-2013
http://docs.cntd.ru/document/gost-r-51794-2008 — ГОСТ Р 51794-2008
murmansk-tisiz.ru/rar/gost_r_51794.doc — ГОСТ Р 51794-2001

codemonkeydeveloper.blogspot.com

Формулы пересчета координат из WGS-84 в СК-42 и обратно

Для тех, кто хочет разобраться в математике пересчета и\или встроить конвертацию в свою программу.

В этой статье приводятся функции для преобразования геодезических координат из координатной системы Пулково 1942 в координатную систему WGS 1984 и обратно.

В данном примере используются три параметра трансформирования (dx, dy, dz), остальные параметры равны 0. Если вы хотите использовать 7 параметров (дополнительно wx, wy, wz, ms), измените значения угловых элементов трансформирования. Линейные элементы трансформирования также могут быть другими, в данной примере используются линейные элементы трансформирования из ГОСТ 51794-2001 (другие возможные наборы элементов) . Для рассчета используется формулы Бурса-Вольфа (подробнее).

Все угловые значения передаются и возвращаются в десятичных градусах (dd.ddddd), высоты передаются и возвращаются в метрах.

Результаты пересчета проверены с помощью Proj и совпадают с его результатами до 7-го знака после запятой.

Const Pi As Double = 3.14159265358979 ' Число Пи
Const ro As Double = 206264.8062 ' Число угловых секунд в радиане

' Эллипсоид Красовского
Const aP As Double = 6378245 ' Большая полуось
Const alP As Double = 1 / 298.3 ' Сжатие
Const e2P As Double = 2 * alP - alP ^ 2 ' Квадрат эксцентриситета

' Эллипсоид WGS84 (GRS80, эти два эллипсоида сходны по большинству параметров)
Const aW As Double = 6378137 ' Большая полуось
Const alW As Double = 1 / 298.257223563 ' Сжатие
Const e2W As Double = 2 * alW - alW ^ 2 ' Квадрат эксцентриситета

' Вспомогательные значения для преобразования эллипсоидов
Const a As Double = (aP + aW) / 2
Const e2 As Double = (e2P + e2W) / 2
Const da As Double = aW - aP
Const de2 As Double = e2W - e2P

' Линейные элементы трансформирования, в метрах
Const dx As Double = 23.92
Const dy As Double = -141.27
Const dz As Double = -80.9

' Угловые элементы трансформирования, в секундах
Const wx As Double = 0
Const wy As Double = 0
Const wz As Double = 0

' Дифференциальное различие масштабов
Const ms As Double = 0

Function WGS84_SK42_Lat(Bd, Ld, H) As Double
    WGS84_SK42_Lat = Bd - dB(Bd, Ld, H) / 3600
End Function

Function SK42_WGS84_Lat(Bd, Ld, H) As Double
    SK42_WGS84_Lat = Bd + dB(Bd, Ld, H) / 3600
End Function

Function WGS84_SK42_Long(Bd, Ld, H) As Double
    WGS84_SK42_Long = Ld - dL(Bd, Ld, H) / 3600
End Function

Function SK42_WGS84_Long(Bd, Ld, H) As Double
    SK42_WGS84_Long = Ld + dL(Bd, Ld, H) / 3600
End Function

Function dB(Bd, Ld, H) As Double
    Dim B, L, M, N As Double
    B = Bd * Pi / 180
    L = Ld * Pi / 180
    M = a * (1 - e2) / (1 - e2 * Sin(B) ^ 2) ^ 1.5
    N = a * (1 - e2 * Sin(B) ^ 2) ^ -0.5
    dB = ro / (M + H) * (N / a * e2 * Sin(B) * Cos(B) * da _ + (N ^ 2 / a ^ 2 + 1) * N * Sin(B) * Cos(B) * de2 / 2 _ - (dx * Cos(L) + dy * Sin(L)) * Sin(B) + dz * Cos(B)) _ - wx * Sin(L) * (1 + e2 * Cos(2 * B)) _ + wy * Cos(L) * (1 + e2 * Cos(2 * B)) _ - ro * ms * e2 * Sin(B) * Cos(B)
End Function

Function dL(Bd, Ld, H) As Double
    Dim B, L, N As Double
    B = Bd * Pi / 180
    L = Ld * Pi / 180
    N = a * (1 - e2 * Sin(B) ^ 2) ^ -0.5
    dL = ro / ((N + H) * Cos(B)) * (-dx * Sin(L) + dy * Cos(L)) _ + Tan(B) * (1 - e2) * (wx * Cos(L) + wy * Sin(L)) - wz
End Function

Function WGS84Alt(Bd, Ld, H) As Double
    Dim B, L, N, dH As Double
    B = Bd * Pi / 180
    L = Ld * Pi / 180
    N = a * (1 - e2 * Sin(B) ^ 2) ^ -0.5
    dH = -a / N * da + N * Sin(B) ^ 2 * de2 / 2 _ + (dx * Cos(L) + dy * Sin(L)) * Cos(B) + dz * Sin(B) _ - N * e2 * Sin(B) * Cos(B) * (wx / ro * Sin(L) - wy / ro * Cos(L)) _ + (a ^ 2 / N + H) * ms
    WGS84Alt = H + dH
End Function

Код пересчетов базируется на примере Olexa Riznyk, www.olexa.com.ua

[править] Установка и настройка

Приведенный ниже код нужно скопировать и открыть окно редактора Visual Basic программы Microsoft Excel (Сервис\Макрос\Редактор Visual Basic). Далее, необходимо создать новый модуль, для этого нужно выбрать в меню Insert\Module и вставить в появившийся модуль скопированный код.

Так же можно загрузить этот код в виде готового модуля и импортировать его (File\Import File…) в окне редактора Visual Basic.

[править] Работа

После установки, в рабочей области Excel станут доступны следующие функции:

Пересчет широты из WGS-84 в СК-42: WGS84_SK42_Lat(Lat,Long,Height)
Пересчет долготы из WGS-84 в СК-42: WGS84_SK42_Long(Lat,Long,Height)
Пересчет широты из СК-42 в WGS-84: SK42_WGS84_Lat(Lat,Long,Height)
Пересчет долготы из СК-42 в WGS-84: SK42_WGS84_Long(Lat,Long,Height)

Для выполнения пересчета, нужно использовать вышепреведенные функции подставляя им в качестве аргументов значения широты и долготы в десятичных градусах и высоты в метрах, например, в ячейку Excel можно ввести:

=WGS84_SK42_Lat(50;50;0)

и получить результат 49.99980414

Если ввод формулы приводит к ошибке, убедитесь, что в документе разрешены Макросы (Сервис\Макрос\Безопасность — Средняя)

Для вычислений также можно использовать готовую таблицу в формате MS Excel (скачать).

[править] Ссылки по теме

gis-lab.info

ГЕОГРАФИЧЕСКИЕ И ПРЯМОУГОЛЬНЫЕ КООРДИНАТЫ

География ГЕОГРАФИЧЕСКИЕ И ПРЯМОУГОЛЬНЫЕ КООРДИНАТЫ

просмотров — 1186

Методические рекомендации к семинару № 7 с. 97-103

Методические рекомендации к семинару № 6 с. 81-94

Методические рекомендации к семинару № 5 с. 65-80

Методические рекомендации к семинару № 1 с. 4-17

Введение с. 3

(т.т. 1,2)

1.1. Вопросы по самоподготовке

1.2. Ситуационные задачи

1.3. Тестовые задания

2. Методические рекомендации к семинару № 2 с. 18-36 (т.т. 3,4)

2.1. Вопросы по самоподготовке

2.2. Ситуационные задачи

3.3. Тестовые задания

3 Методические рекомендации к семинару № 3 с. 37-51 (т.т. 5,6)

3.1. Вопросы по самоподготовке

3.2. Ситуационные задачи

3.3. Тестовые задания

4. Методические рекомендации к семинару № 4 с. 52-64 (т.т. 7,8)

4.1. Вопросы по самоподготовке

4.2. Ситуационные задачи

4.3. Тестовые задания

(т.т. 9,10)

5.1. Вопросы по самоподготовке

5.2. Ситуационные задачи

5.3. Тестовые задания

(т.т. 11,12)

6.1. Вопросы по самоподготовке

6.2. Ситуационные задачи

6.3. Тестовые задания

(т.т. 13,14,15)

7.1. Вопросы по самоподготовке

7.2. Ситуационные задачи

7.3. Тестовые задания

Географические координаты – широта и долгота в градусах, минутах и секундах. К примеру, 23° 18′ 49» с.ш. (северной широты), 34° 49′ 12» в.д. (восточной долготы). У внешней рамки в каждом углу топокарты есть обозначения географических координат, к примеру в нижнем углу: 48° 40′, 66° 00′. Далее по внешней рамке идут чередуясь черные и белые отрезки, разделœенные точками на 6 маленьких. Легко понять, что каждый отрезок – одна минута (долготы или широты), а отрезки – по 10 секунд. Помня (или посмотрев на углы карты), что широты возрастают снизу вверх (от экватора к полюсу), а долготы слева – направо (с запада на восток), для любой точки можно найти географические координаты, построив перпендикуляр к рамке. Внимание: нельзя строить перпендикуляр по линиям координатной сетки, т.к. они не параллельны рамке карты (см. рис).

Прямоугольные координаты. Мы условно делим земную поверхность по долготе на 60 зон («долек» по 6 град.) в проекции Гаусса. Средний меридиан каждой зоны – нулевой. Нумерация – Запада на Восток от Гринвичского меридиана. В каждой зоне, которую мы «разворачиваем» на плоскость, берем декартовы координаты. Важно заметить, что для северной части зоны и к востоку от Гринвича (большая часть Евразии) – координаты будут положительны. При этом, как и в географических координатах, сначала указываем широту (вертикаль), затем – долготу (горизонталь), ᴛ.ᴇ. у нас Х будет вертикалью, а Y – горизонталью (см. рис), а не наоборот, как привыкли рисовать, причем Y это не f(X), это две координаты.

В каждом углу внутри рамки есть прямоугольные координаты, к примеру внизу это 5398 по широте 25280 по долготе (обведены кружками). На самом делœе это значит, что от границы координатной зоны (по оси экватора в левом углу (-) «ломтика» ) данный угол карты отстоит вверх на 5398 км, а вправо (ᴛ.ᴇ. на восток) – на 25280 км. А квадраты, которые мы видим внутри карты, каждый по 1 квадратному километру. Т.е. говоря: квадрат 98-83 (высота 740,0), мы как раз и используем систему прямоугольных координат. Но можем определить и точнее, построив по линиям координатной сетки (которой расчерчена карта) от нижнего левого угла каждого квадрата перпендикуляры (на данный раз – к линиям сетки, а не рамки карты), можем определить координаты с точностью до метра (см. пример в квадрате 98-81).

При этом можем писать сокращенные координаты: Х=98800, Y=81630, а можем и полные – Х=5398800, Y=25281630. В случае если был бы 1 м, то писали бы 81001. Точными прямоугольными координатами любят пользоваться инженеры и артиллеристы.

Те прямоугольные координаты, которые написаны с

внешней стороны рамки карты — ϶ᴛᴏ для сосœедней координатной зоны – «ломтика», т.к. развернуть эллипс Земли на плоскость мы можем только с погрешностями, и квадраты будут соприкасаться под некоторыми углом. В случае если придется действовать на стыке зон – координаты с внешней рамки помогут нам их согласовать.

Всегда ли квадраты, образованные линией координатной сетки, будут 1х1 км? Нет! Посмотрите на обозначения: если квадраты идут 05, 06, 07 и т.п. то всœе в порядке – 1х1 км. А если идут 06, 08, 10 – ясно, что сетка расчерчена через 2 квадрата͵ и будет 2х2 км. Значит, масштаб карты мелкий, ᴛ.ᴇ. охватывает большую территорию. Бывает и нумерация 06, 10, 14 – ᴛ.ᴇ. еще больше, сетка расчерчена 4х4 км. А КВАДРАТЫ И ИХ НУМЕРАЦИЯ – ВСЕГДА по 1 км.

oplib.ru

Калькулятор географических координат

Вы ввели следующее выражение
Введенное выражение
Окончательный результат выражения (в долях градуса)
Результат выражения (в градусах, минутах, секундах)

Описание

 Как со спутника определяют местонахождение какого-нибудь объекта? Неужели все это возможно благодаря всего лишь школьным географическим координатам? Для начала уточним, что такое географические координаты.

Географические  коордианты — это координаты, позволяющие установить местонахождение объекта на поверхности Земли. Они определяются географическими широтой и долготой и измеряются в градусах.

Значения широты располагаются в пределах от 90° до +90°, а долготы от 180° до +180°.

Есть интересная школьная загадка про географические координаты: Где находится точка,  имеющая координаты 0 градусов  широты и 0 градусов долготы?

Часть  людей утверждают что на полюсе, одни на Северном, другие на Южном. 

На самом деле все очень просто. Нулевой меридиан, то есть 0 градусов долготы, проходит от Северного полюса к Южному, в том числе и через Лондон, а вот 0 градусов широты будет на экваторе и таким образом  ответ на задачу будет такой:  Где то в Атлантическом океане, у западных берегов Африки.

Также просто отвечать на вопрос «есть ли на земле точка с географическими координатами 180 градусов широты и 180 градусов долготы»

Если вы прочитали абзац  до этого, то поймете что широта не может быть равна 180 градусов. Так как широты начинаются с числа 0 (это экватор) и заканчивая -90 градусов ( это Южный полюс) или +90 ( это Северный полюс)

Сами координаты могут быть записаны в нескольких форматах :

  • 17.755831° — градусы (и дробная часть градуса)

  • 55°45.35′ — градусы и минуты

  • 55°45’20.9916″ — градусы, минуты и секунды 

Иногда в градусах появляются  буквы которые «отвечают» за широту (N-северная, S-южная) или/и  долготу (W-западная, E-восточная).

Иногда букв нет, и вместо этого пишут отрицательные широты и долготы (южные и западные соответственно). 

Сервис помогает конвертировать градусы, минуты и секунды в дробные части градуса, а также выполнять обратную задачу, из дробной части градуса вычленять минуты и секунды.

Кроме этого бот умеет считать произвольные выражения в которых фигурируют градусы.

Хотелось бы напомнить что градус это одна из мер, которыми измеряют углы.

Один полный оборот чего бы то ни было вокруг своей оси составляет ровно 360 градусов, а полоборота соответственно 180 градусов.

Градус может выражаться в виде градуса и дробной части, а также в виде минут и секунд

Соответствие такое же как и в обычных часах, то есть 1 градус содержит 60 минут, а 1 минута содержит 60 секунд.

Заметьте: 1 градус на экваторе  составляет порядка 111 километров, 1 градус за Полярным кругом в километрах намного меньше. Более точно можно узнать здесь

Итак, переведем координату из градусов в минуты и наоборот:44.525000° = 44°31.50 (0.525000* 60= 31.50) — То есть, всего лишь — десятые доли градуса нужно умножить на 60 минут.44°31.50 = 44.525000° (31.50/60= 0.525000) – Совершаем обратную операцию: минуты делим на 60. Целая часть координаты(градус) и там, и там остается неизменной.

 

Таким же образом пересчитываются минуты в минуты с секундами и обратно.

Для тех, кто ищет по заданным географическим координатам место на карте Земли, стоит посетить вот этот ресурс Поиск объекта по географическим координатам

Интересные факты:

Какую часть градуса составляет одна минута?  1 минута это 1/60 часть градуса

Какую часть градуса составляет одна секунда? 1 секунда это 1/60 часть минуты или 1/3600 часть градуса

Синтаксис

Если используем XMPP клиент:  geo_calc <выражение>

Если используем этот сайт:  <выражение>

Выражение — арифметическое выражение. Если в выражении фигурурует не только градусы выраженные в в виде дробной части, но и через минуты и секунды, то такое значение пишется через двоеточие(:) то есть 15 градусов 12 минут и 45 секунд пишется  как 15:12:45

Еще для инофрмации, несмотря на то что выражение может быть любым, то есть включать в себя все математические функции языка PHP, учитывайте что практического применения нет если вы градусы делите на градусы или берете квадратный корень от суммы градусов.. Вы теряете размерность и в конечно итоге Вы получите какие фантастические а оттого неправильные результаты.

Рекомендуется использовать сложение и вычитание

Деление и умножение можно использовать если одно из сомножителей безразмерная величина.

Как практический пример такого примеимения является ответ на вопрос как правильно выразить градусы,минуты,секунды в часах,минутах,секундах

Видимо, речь идет о том что за 24 часа, наша планета Земля, делает полный поворот вокруг своей оси.

Там образом у нас есть уже часть пропорции 360 градусов=24 часа

Таким образом  что бы перевести градусы (доли градуса)  в часы и минуты, надо градусы разделить на 15, а если наоборот, нам надо часы(доли часа) перевести в градусы, надо умножить часы на 15.

Из этого следует простейший и очень познавательный  вывод: Если между двумя населенными пунктами, разница географических широт составляет 15 градусов, то восход Солнца например будет происходить ровно на 1 час  раньше, чем во втором.

Примеры

Сложить 12.45 градусов и 45 градусов  34 минут и 100 секунд

Сразу видим что 100 секунд это 1 минута и 40 секунд (60+40), тогда исходное выражение можно сказать так

Сложить 12.45 градусов и 45 градусов  35 минут и 40 секунд

Считаем 

geo_calc 12.45+45:35:40

ответ:

Результат арифметического выражения 

В долях градуса 58.044444444444

В градусах минутах и секундах 58 градусов 2 минут 40 секунд

 

Если  мы напишем выраженеи как было первоначально было заданно, то есть с 100 секундами, то получим тот же самый результат

 

geo_calc 12.45+45:34:100

 

ответ

 

Результат арифметического выражения 12.45+45:34:100

В долях градуса 58.044444444444

В градусах минутах и секундах 58 градусов 2 минут 40 секунд

 


 

Преобразовать  24 минуты 300 минут и 10 секунд в градусы с дробной частью

 

Пишем

geo_calc 24:300:10

 

ответ

 

Результат арифметического выражения 24:300:10

В долях градуса 29.002777777778

В градусах минутах и секундах 29 градусов 0 минут 10 секунд

Как Вы видите система преобразовала в нормальный вид заданное значение, ну и естественно выдала  правильный результат 29.002777777778

www.abakbot.ru

Отправить ответ

avatar
  Подписаться  
Уведомление о
2019 © Все права защищены. Карта сайта