GIS-LAB
Географические информационные системы и дистанционное зондирование
Конвертация значений координат в формате DDMMSS в формат DD.DDDD
Как переводить координаты из одного числового формата в другой
Географические координаты одной и тоже точки могут быть выражены в разных форматах. В зависимости от того, представлены минуты и секунды как значения от 0 до 60 или от 0 до 100 (десятичные доли).
Формат координат обычно записывают следующим образом: DD — градусы, MM — минуты, SS — секунды, если минуты и секунды представлены как десятичные доли, то пишут просто DD.DDDD. Например:
DD MM SS: 50° 40′ 45» в.д., 40 50′ 30» с.ш. — Градусы, минуты, секунды
DD MM.MM: 50° 40.75′ в.д., 40 50.5′ с.ш. — Градусы, десятичные минуты
DD.DDDDD: 50.67916 в.д., 40.841666 с.ш. — Десятичные градусы.
Многие программы не понимают координаты выраженные в форме, допускающем пробелы, такие как DD MM SS или DD MM.MM. Для нормальной работы, координаты рекомендуется хранить в форме DD.DDDDD.
Существует много способов осуществить данную конвертацию рассмотрим 3 основных (в порядке эффективности).
[править] Правильно настроить GPS
Для того, чтобы не иметь проблем с переводом координат, проще всего сразу настроить GPS так, чтобы он отображал значения координат в формате DD.DDDDD. Однако, это может быть не удобно для тех, кто ориентируется в поле по топокартам с нанесенной координатной сеткой, где координаты подписаны в другом числовом формате. С другой стороны в этом случае, рекомендуется и саму координатную сетку подписывать в этом формате.
Подробнее про настройку GPS можно прочитать в специальной статье.
[править] Использовать специальный скрипт
Если вы работаете в Arcview GIS, вы можете воспользоваться специальным скриптом, который осуществит пересчет за вас.
Для начала работы в Arcview должна быть создана или загружена таблица в формате DBF (создать такую таблицу можно, например, в Excel’e). Таблица в которой записаны исходные значения ДОЛЖНА быть открыта для записи Table\Start editing.
В этой таблице должно присутствовать 2 столбца (общее количество может быть больше) в которых должны быть записаны значения координат в формате DDMMSS то есть пробелов между цифрами быть не должно, например 505050.3214
В процессе работы скрипт попросит указать название столбца в котором записаны значения широты и столбца в котором записаны значения долготы. Затем попросит ввести название для результирующих столбцов. После этого скрипт выполнит преобразование и запишет в новые столбцы с названиями которые вы вводили значения координат в формате DD.DDDDD.
[править] Пересчитать значения координат самому в Excel
Формула для пересчета из dd mm ss в dd.ddddd:
Формула для пересчета из dd mm.mmmm в dd.ddddd:
Формула для пересчета из dd.ddddd в dd mm ss:
где DDD — координаты в формате DD.DDDD, DD — градусы, MM (MM.MMMM) — минуты, SS — секунды
Если лень вводить формулы и создавать таблицу, можно загрузить готовую. Дальше потребуется только ввести свои координаты и скопировав столбцы с результатом вставить их в новую таблицу или текстовый файл, который можно будет потом импортировать в ГИС.
Чтобы еще больше облегчить пересчет координат в Excel можно использовать надстройку подключаемую к Excel. После ее подключения, в Excel добавляются несколько формул, позволяющих конвертировать значения из DDMMSS (в разных форматах в десятичные градусы). Скачать надстройку. Описание подключения и использования надстройки внутри архива.
- ГРД__ГГ_ММСС — перевод градусов, введенных в 1 ячейку в виде ГГ,ММСС
- ГРД__ГГММ_СС — перевод градусов, введенных в 1 ячейку в виде ГГММ,СС
- ГРД__ГГ_ММ_СС — перевод градусов, введенных в 3 ячейки в виде ГГ ММ СС
Последнее обновление: 2014-05-14 23:38
Дата создания: 01.03.2002 Автор(ы): Максим Дубинин
Преобразование градусов/минут/секунд в углы и обратно в Excel
Office 365 ProPlus переименован в Майкрософт 365 корпоративные приложения. Для получения дополнительной информации об этом изменении прочитайте этот блог.
Аннотация
Угловые измерения обычно выражаются в градусах, минутах и секундах (DMS). 1 градус равен 60 минутам, а одна минута — 60 секунд. Чтобы упростить некоторые математические вычисления, может потребоваться выражать угловые измерения в градусах и десятичных долях.
В этой статье содержится пример настраиваемой функции, которую можно использовать для преобразования значения степени, хранящегося в десятичном формате, в DMS, хранящейся в текстовом формате, а также пример функции, преобразующей DMS в значение степени, хранящееся в десятичном формате.
Дополнительная информация
Корпорация Майкрософт предоставляет примеры программирования только для иллюстраций, которые не выражаются или подразумеваемы, включая, но не ограничиваются, подразумеваемые гарантии пригодности и/или пригодности для конкретной цели. В этой статье предполагается, что вы знакомы с демонстрируемым языком программирования и инструментами, используемыми для создания и отладки процедур. Специалисты службы поддержки Майкрософт могут объяснить возможности конкретной процедуры, но они не изменяют эти примеры, чтобы предоставить дополнительные функции или создать процедуры для удовлетворения конкретных потребностей.
Если у вас ограниченный интерфейс программирования, вы можете обратиться в службу консультационных услуг Майкрософт. Для получения дополнительных сведений посетите веб-сайт Майкрософт:
Для получения дополнительных сведений о доступных параметрах поддержки и о том, как обратиться в корпорацию Майкрософт, ознакомьтесь со статьей https://support.microsoft.com .
Преобразование десятичных степеней в градусы/минуты/секунды
Приведенная ниже функция Microsoft Visual Basic для приложений принимает угол, отформатированный в виде десятичного значения, и преобразует его в текстовое значение, отображаемое в градусах, минутах и секундах.
Чтобы использовать эту функцию, создайте формулу преобразования, как показано в следующем примере:
Запустите Excel и нажмите клавиши ALT + F11, чтобы запустить редактор Visual Basic.
В меню Вставка выберите Модуль.
Введите пример кода для пользовательской функции Convert_Degree, описанной выше, в окне модуль.
Нажмите клавиши ALT + F11, чтобы вернуться в Excel.
В ячейке a1 введите 10,46.
В ячейке A2 введите формулу: = Convert_Degree (a1)
Формула возвращает значение 10 ° 27 ‘ 36 ‘
Преобразование градусов/минуты/секунды в десятичные градусы
Следующая настраиваемая функция Microsoft Visual Basic для приложений принимает текстовую строку в градусах, минутах и секундах в том же формате, что и функция Convert_Degree возвращает значение (например, 10 ° 27 ‘ 36 «), и преобразует его в угол, отформатированный в виде десятичного числа. Это только обратный Convert_Degree пользовательской функции.
Эта настраиваемая функция завершается с ошибкой, если аргумент Degree_Deg не имеет формат ° ‘ «, даже если значение секунд равно 0.
Чтобы использовать эту функцию, создайте формулу преобразования, как показано в следующем примере:
Запустите Excel и нажмите клавиши ALT + F11, чтобы запустить редактор Visual Basic.
В меню Вставка выберите Модуль.
Введите пример кода для пользовательской функции Convert_Decimal, описанной выше, в окне модуль.
Нажмите клавиши ALT + F11, чтобы вернуться в Excel.
В ячейке a1 введите следующую формулу:
= Convert_Decimal («10 ° 27» 36 «» «)
Необходимо ввести три знака кавычек («» «) в конце аргумента этой формулы, чтобы сбалансировать кавычки в секундах и знак кавычек для текстовой строки. Для ссылки на ячейку не требуется использование кавычек.
Перевод десятичных градусов в градусы минуты секунды формула
ATO » 23 окт 2011 23:22
Всё больше народу пользуется ЖПСами. На начальном этапе у некоторых возникают проблемы с переводом координат в удобоваримый (жопсом) вид.
Карта Google с удобным просмотром координат + пересчет кординат из градусов в градусы/минуты, в градусы/минуты/секунды
Если нет возможности воспользоваться програмкой, пересчитать можно постаринке. Например из градусов с их тысячными долями берём дробную часть и умножаем её на 60 — получаем минуты с их тысячными долями.
0.44375 х 60 = 26.625
получаем 53гр. 26.625минут
если нужны и секунды, то повторяем действо
получаем 53гр. 26минут 37.5секунд
аналогично мона перевисти обратно (заменив умножение на деление).
Re: Пересчет географических координат в десятичные и обратно
VoVo4ka » 09 фев 2013 23:36
Exel’евский файл с формой пересчета географических координат в десятичные и обратно.
В поле «градусы» вводятся координаты 53° 21′ 24″, приведенные к виду 53,2124, получаются десятичные 53,3544. В обратную сторону та же логика — в поле «десятичные» вводится 83,7850, получается 83,4714 = 83° 47′ 14″.
Re: Пересчет географических координат в десятичные и обратно
aikijin » 21 янв 2017 07:54
А Вы пробовали делать двойной перевод из градусов в десятичные и обратно? И какая при этом получалась погрешность?
Я брал координаты из яндекса, гугла, google earth, пересчитывал и уже десятичные вводил на эти карты. Погрешность получалась колоссальная: 400 — 800 метров. Но удастся ли мне вернуться на указанное место, я полагаю этот вопрос излишним.
Хотя может быть я неправильно считал.
Re: Пересчет географических координат в десятичные и обратно
aikijin » 02 фев 2017 04:06
Re: Пересчет географических координат в десятичные и обратно
VoVo4ka » 02 фев 2017 13:19
Re: Пересчет географических координат в десятичные и обратно
aikijin » 15 фев 2017 04:36
Не обязательно много, достаточно одного раза. Возьмите на онлайн-карте (яндекс, гугл) координаты какой-нибудь точки, пересчитайте их по предложенной методике и полученные координаты введите в поисковую строку той же самой карты.
У Вас точки совпали? Если нет, то хотелось бы знать насколько Вас «отнесло» от первой точки.
Re: Пересчет географических координат в десятичные и обратно
VoVo4ka » 21 фев 2017 23:29