ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

Преобразование значений "градусы-минуты-секунды" в "десятичные градусы"

Приведем простое уравнение преобразования координат вида "градус-минута-секунда" в "десятичные доли градуса".

DD (десятичные градусы) = (секунды/3600) + (минуты/60) + градусы

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

DD (десятичные градусы) = - (секунды/3600) - (минуты/60) + градусы

В инструкции, приведенной ниже, показан способ конвертирования поля таблицы с данными долготы или широты, приведенными в угловых единицах "градус-минута-секунда" в "десятичные доли градуса" с помощью Калькулятора поля. Код написан на VBScript, но его легко конвертировать в другие языки программирования. Предполагается, что "градус-минута-секунда" сохранены как текстовая строка с пробелами между числами и не содержат других символов. Например, данные были сохранены в виде:

25 35 22.3

где 25 -градусы, 35 - минуты и 22.3 - секунды.

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

  1. Добавьте таблицу в ArcMap.
  2. Щёлкните правой кнопкой на таблице в таблице содержания и щёлкните Открыть.
  3. Нажмите кнопку Опции и щелкните Добавить поле.
  4. Введите Lat2 в поле Имя.
  5. Щёлкните стрелку вниз Тип и выберите из списка Double.

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

  6. Нажмите OK.
  7. Щёлкните правой кнопкой поле Lat2 и выберите Калькулятор поля.
  8. Если появится окно с сообщением, щелкните Да.
  9. Поставьте отметку Показать блок кода.
  10. Вставьте следующий код в окно Редактируемого кода скрипта:
    Dim Degrees
    Dim Minutes
    Dim Seconds
    Dim DMS
    Dim DD
    
    DMS = Split([Latitude])
    Degrees = CDbl(DMS(0))
    Minutes = CDbl(DMS(1))
    Seconds = CDbl(DMS(2))
    If Degrees < 0 Then
       DD = -(Seconds/3600) - (Minutes/60) + Degrees
    Else
       DD = (Seconds/3600) + (Minutes/60) + Degrees
    End If
    

    В шестой строке, начинающейся с DMS =, текст в квадратных скобках [ ] должен содержать имя поля, отведенное под данные о широте. Замените в коде слово Широта (Latitude) именем поля (в вашей таблице), которое содержит градусы широты с минутами и секундами.

  11. Введите в окошко в нижней части диалогового окна Lat2 = следующий код:
    CDbl(DD)
    
  12. Нажмите OK.
  13. Повторите шаги с 3 до 12 для долготы.

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2022 Esri. | Конфиденциальность | Правовая информация