Вторым оказался мой выход на эти майские праздники, когда взятые с Яндекса координаты выводили туда, куда я хотел, а с Викимапии - предлагали развернуться и пройти десяток километров в обратную сторону.
Порывшись немного в сети, ответ я нашел. Он оказался очень прост.
Дальше следует длиннющая копипаста с одного сайта. Тот, кто уже знает, как в физическом мире отображается разница в записи координат "одной строкой" и с разделением на градусы/минуты/секунды, ничего интересного там не найдет, но кому-то, надеюсь, будет полезно.
Спойлер
О системах записи координат
В школьном курсе географии рассказывается, что координаты должны измеряться в Градусах, Минутах и Секундах. Поэтому разница в написании зачастую воспринимается как прихоть дизайнера интерфейса. Но так ли это? Как раз здесь и кроется подвох, который может привести к совершенно неожиданным последствиям.
Разберемся, чем отличаются три наиболее распространенные системы записи координат.
Привычный формат записи: градусы, минуты, секунды
Этот формат в качестве предустановленного используется, например, в навигаторах JJ Connect. Выглядит он следующим образом: ГГГ°ММ'СС,С"
Координаты при этом выглядят так:
N 067°27'13.8"
E 034°16'59.9"
Что это означает на практике?
Максимальное количество градусов, которое может быть - 180. Поэтому и для широты, где максимальное значение составляет 90, часто все равно используется трехзначное число. В этом вопросе сходятся все три системы. Часто опускается первый ноль, но обычно интуитивно понятно, сколько цифр означают градусы. Для нашей страны для северной координаты цифр всегда не меньше двух - от 41 на юге до 90 градусов на Северном полюсе, а для восточной - либо две, либо три, от 19 для Калининградской области до 170 градусов в Баренцевом море.
У всех трех систем записи координат последние пять цифр обозначают доли градуса. В данной системе координат далее идут минуты. Их в градусе 60. За минутами идут секунды (60 в одной минуте) и десятичные (!) доли секунды. Путаницы добавляет разный формат отделения десятичных долей в американской и европейской традиции - запятая или точка.
Если вы не видите привычных обозначений ‘ для минуты и " для секунд, например, координаты выглядят так:
N 067 27 13.8
E 034 16 59.9
Или хуже того, вот так:
N 672713.8
E 0341659.9
то опознать этот формат можно по точке или запятой перед последней цифрой.
Следующий формат записи: градусы, минуты, десятичные доли минуты
Этот формат по умолчанию используют, например, навигаторы Garmin. Выглядит он следующим образом: ГГГ°ММ.ССС'
Например:
N 067°27.230'
E 034°16.998'
Как видно, внешний вид координат почти совпадает. Разница есть, но если бы не цифра 9, которая подсказывает, что это не могут быть секунды (их не может быть больше 60, как мы помним), то можно было бы подумать, что это одна и та же система записи. Но нет, здесь минуты и десятичные доли минуты до третьего знака.
Если привычные градусы и знак минуты в конце указанных координат отсутствуют, опознать этот формат записи можно по точке или запятой перед последними тремя цифрами.
Наконец, третий формат записи: градусы, десятичные доли градуса до пятого знака после запятой
В этом формате нет минут и секунд вовсе. Все пять знаков означают исключительно десятичные доли градуса.
N 67,45383°
E 34,28331°
В случае отсутствия значка градуса его можно опознать по тому, что никаких точек или запятых между последними пятью цифрами нет.
Десятичный формат записи координат в качестве предустановленного, например, идет у навигаторов Lexand и охранных систем StarLine. Такая форма записи координат облегчает расчет расстояния между разными координатами, так как для этого требуется косинус угла широты.
Итак, для чего нужно это длинное вступление?
Если посмотреть внимательнее на эти разные по виду цифры, окажется, что это одна и та же точка в разных системах записи координат!
Очень часто встречаются жалобы на соревнованиях, например от пилотов Mercedes-Benz, или при чтении каких-нибудь штурманских листов, что «вот, нам выдали координаты Garmin, и мы долго искали съезд, но не нашли».
Действительно, забив координаты первой системы записи во вторую и наоборот, найти искомое будет сложно, но теоретически возможно. Разница между получившимися точками на широте 67 градусов составит около 200 - 300 метров.
Например,
N 067 27 13.8 и N 067 27.138
E 034 16 59.9 и E 034 16.599
Между 27,138' и 27'13,8" разница будет такова: в одной секунде широты на этой широте 0,03087 км, то есть почти 30 метров. У нас же ошибка по широте составляет 5,52 секунды, то есть 170 метров.
С долготой не лучше: на этой широте в одной секунде долготы будет 0,01185 км, а разница с реальными координатами места составляет почти 24 секунды. То есть примерно 280 метров.
Вместо точки мы получили грубый квадрат 300х200 метров. Плохо, особенно если учесть, что навигатор сам по себе может давать неточное позиционирование при плохом приеме спутников. Но для многих задач разница вполне приемлема, поэтому часто люди не задумываются, почему они не попали точно к месту назначения.
Если же бездумно вбить цифры в последний формат записи, то ошибка будет куда серьезнее, если не сказать, что она будет фатальной. В одной десятой градуса широты больше 11 км! Да и по долготе не лучше: в одной десятой градуса долготы на широте примера более 4 км. А разница между реальными координатами точки и мнимыми начинается уже в десятых градуса!
Что делать?
В большинстве навигаторов можно менять системы записи координат в настройках. Если предложенные вам координаты по виду не совпадают с тем, что вы видите в навигаторе, не поленитесь разобраться с прибором и найти, как меняется система координат. К сожалению, данная функция часто хорошо «спрятана» и ее не всегда легко найти.
Однако в некоторых случаях поменять систему координат нельзя. В таком случае координаты точек нужно пересчитать для приведения в соответствие друг другу.
Как пересчитать координаты из одной системы записи в другую?
Исходные данные: градусы, минуты, секунды
ГГГ°ММ'СС,С" в ГГГ°ММ,МММ' - новые минуты вычисляются так: СС.С"/60 + ММ = ММ,МММ'
ГГГ°ММ'СС,С"в ГГГ,ГГГГГ° - секунды и минуты переводятся в десятичный формат: СС.С"/3600 + ММ/60 = 0,ГГГГГ
Исходные данные: градусы, минуты, десятичные доли минуты
ГГГ°ММ,МММ' в ГГГ° ММ'СС,С" - для перевода десятичных долей минуты в секунды и десятичную долю секунды нужно (ММ,МММ' - ММ)*60 = СС,С
ГГГ°ММ,МММ' в ГГГ,ГГГГГ° - минуты переводятся в десятичные доли градуса: ММ,МММ'/60 = 0,ГГГГГ
Исходные данные: градусы и десятичные доли градуса
ГГГ,ГГГГГ° в ГГГ°ММ'СС,С" - целая часть (0,ГГГГГ*60) = ММ, (0,МММ) * 60 = CC,С
ГГГ,ГГГГГ° в ГГГ°ММ,МММ' - 0,ГГГГГ*60 = ММ,МММ
Справка: сколько километров в одном градусе?
Широта
Один градус широты - единица постоянная. Длина меридиана 40007,86 км. Поэтому в одном градусе широты всегда неизменное количество километров: 40007,86 км / 360° = 111,1329 км.
Долгота
Поскольку мы находимся в полярной системе координат - в полюсах все долготы сходятся - то количество километров в одном градусе долготы зависит от широты. На экваторе расстояние между долготами максимальное.
Длина экватора чуть больше длины меридиана и составляет 40075,7 км. В одном градусе долготы на экваторе примерно такое же количество километров, как в широте: 40075,7 км /360° = 111,3213 км. Для того чтобы рассчитать количество километров по долготе на конкретной широте, нужно это число умножить на косинус широты.
Т.е. в одном градусе долготы на 67-й параллели из примера будет (40075,7 км / 360°) х cos 67,45383° = 111,3213 х 0,3834 = 42,68 км
Если сместиться поближе к экватору, например на 55-ю параллель в Москву, то в одном градусе долготы уже будет (40075,7 км / 360°) х cos 55° = 63,85 км
А в Сочи и Владивостоке на 43-й параллели в одном градусе долготы уже будет (40075,7 км / 360°) х cos 43° = 81,41 км.
Текст отсюда http://www.autodela.ru/main/top/review/GPS_koord
В школьном курсе географии рассказывается, что координаты должны измеряться в Градусах, Минутах и Секундах. Поэтому разница в написании зачастую воспринимается как прихоть дизайнера интерфейса. Но так ли это? Как раз здесь и кроется подвох, который может привести к совершенно неожиданным последствиям.
Разберемся, чем отличаются три наиболее распространенные системы записи координат.
Привычный формат записи: градусы, минуты, секунды
Этот формат в качестве предустановленного используется, например, в навигаторах JJ Connect. Выглядит он следующим образом: ГГГ°ММ'СС,С"
Координаты при этом выглядят так:
N 067°27'13.8"
E 034°16'59.9"
Что это означает на практике?
Максимальное количество градусов, которое может быть - 180. Поэтому и для широты, где максимальное значение составляет 90, часто все равно используется трехзначное число. В этом вопросе сходятся все три системы. Часто опускается первый ноль, но обычно интуитивно понятно, сколько цифр означают градусы. Для нашей страны для северной координаты цифр всегда не меньше двух - от 41 на юге до 90 градусов на Северном полюсе, а для восточной - либо две, либо три, от 19 для Калининградской области до 170 градусов в Баренцевом море.
У всех трех систем записи координат последние пять цифр обозначают доли градуса. В данной системе координат далее идут минуты. Их в градусе 60. За минутами идут секунды (60 в одной минуте) и десятичные (!) доли секунды. Путаницы добавляет разный формат отделения десятичных долей в американской и европейской традиции - запятая или точка.
Если вы не видите привычных обозначений ‘ для минуты и " для секунд, например, координаты выглядят так:
N 067 27 13.8
E 034 16 59.9
Или хуже того, вот так:
N 672713.8
E 0341659.9
то опознать этот формат можно по точке или запятой перед последней цифрой.
Следующий формат записи: градусы, минуты, десятичные доли минуты
Этот формат по умолчанию используют, например, навигаторы Garmin. Выглядит он следующим образом: ГГГ°ММ.ССС'
Например:
N 067°27.230'
E 034°16.998'
Как видно, внешний вид координат почти совпадает. Разница есть, но если бы не цифра 9, которая подсказывает, что это не могут быть секунды (их не может быть больше 60, как мы помним), то можно было бы подумать, что это одна и та же система записи. Но нет, здесь минуты и десятичные доли минуты до третьего знака.
Если привычные градусы и знак минуты в конце указанных координат отсутствуют, опознать этот формат записи можно по точке или запятой перед последними тремя цифрами.
Наконец, третий формат записи: градусы, десятичные доли градуса до пятого знака после запятой
В этом формате нет минут и секунд вовсе. Все пять знаков означают исключительно десятичные доли градуса.
N 67,45383°
E 34,28331°
В случае отсутствия значка градуса его можно опознать по тому, что никаких точек или запятых между последними пятью цифрами нет.
Десятичный формат записи координат в качестве предустановленного, например, идет у навигаторов Lexand и охранных систем StarLine. Такая форма записи координат облегчает расчет расстояния между разными координатами, так как для этого требуется косинус угла широты.
Итак, для чего нужно это длинное вступление?
Если посмотреть внимательнее на эти разные по виду цифры, окажется, что это одна и та же точка в разных системах записи координат!
Очень часто встречаются жалобы на соревнованиях, например от пилотов Mercedes-Benz, или при чтении каких-нибудь штурманских листов, что «вот, нам выдали координаты Garmin, и мы долго искали съезд, но не нашли».
Действительно, забив координаты первой системы записи во вторую и наоборот, найти искомое будет сложно, но теоретически возможно. Разница между получившимися точками на широте 67 градусов составит около 200 - 300 метров.
Например,
N 067 27 13.8 и N 067 27.138
E 034 16 59.9 и E 034 16.599
Между 27,138' и 27'13,8" разница будет такова: в одной секунде широты на этой широте 0,03087 км, то есть почти 30 метров. У нас же ошибка по широте составляет 5,52 секунды, то есть 170 метров.
С долготой не лучше: на этой широте в одной секунде долготы будет 0,01185 км, а разница с реальными координатами места составляет почти 24 секунды. То есть примерно 280 метров.
Вместо точки мы получили грубый квадрат 300х200 метров. Плохо, особенно если учесть, что навигатор сам по себе может давать неточное позиционирование при плохом приеме спутников. Но для многих задач разница вполне приемлема, поэтому часто люди не задумываются, почему они не попали точно к месту назначения.
Если же бездумно вбить цифры в последний формат записи, то ошибка будет куда серьезнее, если не сказать, что она будет фатальной. В одной десятой градуса широты больше 11 км! Да и по долготе не лучше: в одной десятой градуса долготы на широте примера более 4 км. А разница между реальными координатами точки и мнимыми начинается уже в десятых градуса!
Что делать?
В большинстве навигаторов можно менять системы записи координат в настройках. Если предложенные вам координаты по виду не совпадают с тем, что вы видите в навигаторе, не поленитесь разобраться с прибором и найти, как меняется система координат. К сожалению, данная функция часто хорошо «спрятана» и ее не всегда легко найти.
Однако в некоторых случаях поменять систему координат нельзя. В таком случае координаты точек нужно пересчитать для приведения в соответствие друг другу.
Как пересчитать координаты из одной системы записи в другую?
Исходные данные: градусы, минуты, секунды
ГГГ°ММ'СС,С" в ГГГ°ММ,МММ' - новые минуты вычисляются так: СС.С"/60 + ММ = ММ,МММ'
ГГГ°ММ'СС,С"в ГГГ,ГГГГГ° - секунды и минуты переводятся в десятичный формат: СС.С"/3600 + ММ/60 = 0,ГГГГГ
Исходные данные: градусы, минуты, десятичные доли минуты
ГГГ°ММ,МММ' в ГГГ° ММ'СС,С" - для перевода десятичных долей минуты в секунды и десятичную долю секунды нужно (ММ,МММ' - ММ)*60 = СС,С
ГГГ°ММ,МММ' в ГГГ,ГГГГГ° - минуты переводятся в десятичные доли градуса: ММ,МММ'/60 = 0,ГГГГГ
Исходные данные: градусы и десятичные доли градуса
ГГГ,ГГГГГ° в ГГГ°ММ'СС,С" - целая часть (0,ГГГГГ*60) = ММ, (0,МММ) * 60 = CC,С
ГГГ,ГГГГГ° в ГГГ°ММ,МММ' - 0,ГГГГГ*60 = ММ,МММ
Справка: сколько километров в одном градусе?
Широта
Один градус широты - единица постоянная. Длина меридиана 40007,86 км. Поэтому в одном градусе широты всегда неизменное количество километров: 40007,86 км / 360° = 111,1329 км.
Долгота
Поскольку мы находимся в полярной системе координат - в полюсах все долготы сходятся - то количество километров в одном градусе долготы зависит от широты. На экваторе расстояние между долготами максимальное.
Длина экватора чуть больше длины меридиана и составляет 40075,7 км. В одном градусе долготы на экваторе примерно такое же количество километров, как в широте: 40075,7 км /360° = 111,3213 км. Для того чтобы рассчитать количество километров по долготе на конкретной широте, нужно это число умножить на косинус широты.
Т.е. в одном градусе долготы на 67-й параллели из примера будет (40075,7 км / 360°) х cos 67,45383° = 111,3213 х 0,3834 = 42,68 км
Если сместиться поближе к экватору, например на 55-ю параллель в Москву, то в одном градусе долготы уже будет (40075,7 км / 360°) х cos 55° = 63,85 км
А в Сочи и Владивостоке на 43-й параллели в одном градусе долготы уже будет (40075,7 км / 360°) х cos 43° = 81,41 км.
Текст отсюда http://www.autodela.ru/main/top/review/GPS_koord