Конвертировать обозначения координат (Управление данными)

Сводка

Преобразует обозначения координат, содержащиеся в одном или двух полях, из одного формата в другой.

Более подробно о поддерживаемых форматах обозначений

Использование

  • Система координат значений в полях X (Долгота) и Y (Широта) указана с параметром Входная система координат. По умолчанию это система координат GCS_WGS_1984, если только входная таблица не является классом пространственных объектов, для которого по умолчанию используется координатная система входных объектов.

  • Поддерживаются следующие форматы:

    • Десятичные градусы (DD)
    • Градусы с десятичными минутами (DDM)
    • Градусы-минуты-секунды (DMS)
    • Global Area Reference System (GARS)
    • GEOREF – Мировая географическая система привязки (World Geographic Reference System)
    • Универсальная поперечная проекция Меркатора (UTM)
    • United States National Grid (USNG)
    • Военная система прямоугольных координат (MGRS)

  • Для DD_1, DDM_1 и DMS_1 значения широты и долготы, необходимые для представления местоположения, соединены в одну строку и хранятся в одном поле.

    Для DD_2, DDM_2 и DMS_2 значения широты и долготы представлены двумя отдельными полями.

    Для DD_NUMERIC значения широты и долготы хранятся в двух отдельных полях типа double.

    GARS, GEOREF, UTM_ZONES, UTM_BANDS, USNG и MGRS являются форматами координат отдельной строки, что означает, что координату содержит только одно поле.

    Дополнительные сведения см. в описании параметра Формат входных координат.

  • Все поля из входной таблицы, включая поле OID и поля входного формата, переносятся в выходной класс точечных объектов. Значения поля OID могут использоваться для различения корректных конвертированных обозначений, если включена опция Исключить записи с недопустимым представлением.

    Имена выходных полей соответствуют именам обозначений выходных координат; например, если выходной формат – MGRS, новое выходное поле будет названо MGRS.

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

  • Отключите параметр Исключить записи с недопустимым представлением, чтобы сохранить информацию, относящуюся ко всем входным записям. Для идентификации записей с недопустимым представлением можно использовать инструмент Проверить геометрию.

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

  • Инструмент Добавить поля X, Y можно использовать для добавления двух полей —POINT_X и POINT_Y– в выходной класс точечных объектов. Эти поля содержат координаты точки в единицах системы координат класса пространственных объектов.

Синтаксис

arcpy.management.ConvertCoordinateNotation(in_table, out_featureclass, x_field, y_field, input_coordinate_format, output_coordinate_format, {id_field}, {spatial_reference}, {in_coor_system}, {exclude_invalid_records})
ParameterОбъяснениеТип данных
in_table

Это может быть текстовой файл или таблица. Точечные объекты также допустимы.

Table View
out_featureclass

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

Feature Class
x_field

Поле из входной таблицы, содержащей значение долготы. Для DD_2, DD_NUMERIC, DDM_2 это поле долготы.

Для DD_1, DDM_1 и DMS_1 это поле содержит оба значения широты и долготы в одной строке.

Для GARS, GEOREF, UTM_ZONES, UTM_BANDS, USNG и MGRS это поле содержит буквенно-числовую систему обозначений в одном текстовом поле.

При выборе одного из этих одностроковых форматов параметр y_field игнорируется.

Field
y_field

Поле из входной таблицы, содержащей значение широты. Для DD_2, DD_NUMERIC, DDM_2 и DMS_2 это поле долготы.

Для DD_1, DDM_1 и DMS_1 это поле содержит оба значения широты и долготы в одной строке.

Для GARS, GEOREF, UTM_ZONES, UTM_BANDS, USNG и MGRS это поле содержит буквенно-числовую систему обозначений в одном текстовом поле.

При выборе одного из этих одностроковых форматов этот параметр игнорируется.

Field
input_coordinate_format

Формат координат входных полей. По умолчанию это DD_2.

  • DD_1Значения широты и долготы содержатся в одном поле. Два значения разделяются пробелом, запятой или косой чертой.
  • DD_2Значения широты и долготы находятся в двух отдельных полях.
  • DDM_1Значения широты и долготы содержатся в одном поле. Два значения разделяются пробелом, запятой или косой чертой.
  • DDM_2 Значения широты и долготы находятся в двух отдельных полях.
  • DMS_1Значения широты и долготы содержатся в одном поле. Два значения разделяются пробелом, запятой или косой чертой.
  • DMS_2Значения широты и долготы находятся в двух отдельных полях.
  • GARSGlobal Area Reference System (Глобальная система координат). Карта мира разделяется на ячейки на основе координат широты и долготы.
  • GEOREFВсемирная система географических координат. Система, основанная на сетке, с помощью которой карта мира разделяется на на квадраты со сторонами 15 градусов и подразделяется на квадраты меньшего размера.
  • UTM_ZONESБуква N или S после номера зоны UTM обозначает северное или южное полушарие.
  • UTM_BANDSБуква после номера зоны UTM обозначает один из 20 поясов долготы. N или S не обозначают полушарие.
  • USNGUnited States National Grid. Практически в точности повторяет MGRS, однако, в качестве датума использует Североамериканский датум 1983 (NAD83).
  • MGRSMilitary Grid Reference System (Военная система прямоугольных координат). Использует координаты UTM для разделения карты мира на пояса по 6 градусов по долготе и 20 поясов по широте, однако, MGRS затем подразделяет зоны сетки на 100 000-метровые участки меньшего размера. Эти 100000-метровые сетки затем разделяются на сетки размером 10000 метров, 1000 метров, 100 метров, 10 метров и 1 метр.
  • SHAPEДоступно только если в качестве входных данных выбран слой точечных объектов. Координаты каждой из точек используются для определения выходного формата.

DD, DDM, DMS и UTM также являются допустимыми ключевыми словами, которые можно использовать путем простого ввода (в диалоговом окне) или передачи значения в скрипте. Тем не менее, ключевые слова, содержащие нижнее подчеркивание и уточнение, больше сообщают о значениях поля.

String
output_coordinate_format

Формат координат, в который будут конвертироваться входные обозначения. По умолчанию это DD_2.

  • DD_1Значения широты и долготы содержатся в одном поле. Два значения разделяются пробелом, запятой или косой чертой.
  • DD_2Значения широты и долготы находятся в двух отдельных полях.
  • DD_NUMERICЗначения долготы и широты хранятся в двух отдельных полях типа Double. Значения западной долготы и южной широты хранятся со знаком "минус", а в DD_2 значения являются текстовыми, а для указания направления используются буквы N (С), S (Ю), E (В) и W (З).
  • DDM_1Значения широты и долготы содержатся в одном поле. Два значения разделяются пробелом, запятой или косой чертой.
  • DDM_2 Значения широты и долготы находятся в двух отдельных полях.
  • DMS_1Значения широты и долготы содержатся в одном поле. Два значения разделяются пробелом, запятой или косой чертой.
  • DMS_2Значения широты и долготы находятся в двух отдельных полях.
  • GARSGlobal Area Reference System (Глобальная система координат). Карта мира разделяется на ячейки на основе координат широты и долготы.
  • GEOREFВсемирная система географических координат. Система, основанная на сетке, с помощью которой карта мира разделяется на на квадраты со сторонами 15 градусов и подразделяется на квадраты меньшего размера.
  • UTM_ZONESБуква N или S после номера зоны UTM обозначает северное или южное полушарие.
  • UTM_BANDSБуква после номера зоны UTM обозначает один из 20 поясов долготы. N или S не обозначают полушарие.
  • USNGUnited States National Grid. Практически в точности повторяет MGRS, однако, в качестве датума использует Североамериканский датум 1983 (NAD83).
  • MGRSMilitary Grid Reference System (Военная система прямоугольных координат). Использует координаты UTM для разделения карты мира на пояса по 6 градусов по долготе и 20 поясов по широте, однако, MGRS затем подразделяет зоны сетки на 100 000-метровые участки меньшего размера. Эти 100000-метровые сетки затем разделяются на сетки размером 10000 метров, 1000 метров, 100 метров, 10 метров и 1 метр.

DD, DDM, DMS и UTM также являются допустимыми ключевыми словами, которые можно использовать путем простого ввода (в диалоговом окне) или передачи значения в скрипте. Тем не менее, ключевые слова, содержащие нижнее подчеркивание и уточнение, больше сообщают о значениях поля.

String
id_field
(Дополнительный)

Этот параметр игнорируется, поскольку все поля переносятся в выходную таблицу.

Field
spatial_reference
(Дополнительный)

Пространственная привязка выходного набора классов объектов. По умолчанию используется GCS_WGS_1984.

Инструмент проецирует, используя указанную пространственную привязку. Если входная и выходная координатные системы используют разные датумы, применяется трансформация по умолчанию – на основе входной и выходной координатных систем и экстента данных.

Spatial Reference
in_coor_system
(Дополнительный)

Пространственная привязка входных данных. Если входная пространственная привязка не может быть получена из входной таблицы, по умолчанию используется система GCS_WGS_1984.

Coordinate System
exclude_invalid_records
(Дополнительный)

Если exclude_invalid_records задано как True, в выходные точки будут конвертированы только корректные обозначения. В противном случае некорректные записи будут включены как пустая геометрия.

  • EXCLUDE_INVALIDВ точки выходных данных будут конвертированы только корректные записи. Это значение по умолчанию.
  • INCLUDE_INVALIDКорректные записи будут конвертированы в выходные точки, а некорректные будут включены как пустая геометрия.
Boolean

Пример кода

ConvertCoordinateNotation, пример 1 (автономный скрипт)

Использование инструмента ConvertCoordinateNotation с одним входным полем.

# import arcpy module
import arcpy

# set locals variables
in_tab = r"c:\data\notation.gdb\loc_mgrs"
out_pts = r"c:\data\notation.gdb\loc_final"

# call Convert Coordinate Notation with MGRS as input field.
# leaving out spatial reference parameter will default to WGS 1984 
arcpy.ConvertCoordinateNotation_management(in_tab, out_pts, "m10d", "#", "MGRS", "DD_1")
ConvertCoordinateNotation, пример 2 (автономный скрипт)

Использование инструмента ConvertCoordinateNotation с двумя входными полями.

# imports
import arcpy

arcpy.env.workspace = r"c:\data\mtf.gdb"

# set parameter values
input_table = 'rit_up_DD'
output_points = 'ritLOC'
x_field = 'LON'
y_field = 'LAT'
input_format = 'DD_2'
output_format = 'GARS'
id_field = 'CITY_NAME'
spatial_ref = arcpy.SpatialReference('WGS 1984')

try:
    arcpy.ConvertCoordinateNotation_management(input_table, output_points, x_field, y_field, 
                                               input_format, output_format, id_field, spatial_ref)
    print(arcpy.GetMessages(0))

except arcpy.ExecuteError:
    print(arcpy.GetMessages(2))
    
except Exception as ex:
    print(ex.args[0])
ConvertCoordinateNotation, пример 3 (автономный скрипт)

Пример использования ConvertCoordinateNotation с форматами UTM_ZONES и UTM_BANDS.

# imports
import arcpy

arcpy.env.workspace = r"c:\data\ccn.gdb"

# export_utm58 table contains coordinates in UTM_BANDS format 
# where N and S indicate latitude bands, 
# for example, 58S4144921393176 - here 58S is latitude band
input_table = 'export_utm58'

# the coordinate values in output point table will be in UTM_ZONES format
# for example, 58N4144921393176 - note that it is now 58N because
# the point is in UTM 58 North zone
output_points = 'utm_zone18'

spatial_ref = arcpy.SpatialReference('WGS 1984')

try:
    arcpy.ConvertCoordinateNotation_management(input_table, output_points, "LOCS", "", 
                                               "UTM_BANDS", "UTM_ZONES", "", spatial_ref)
    print(arcpy.GetMessages(0))
    
except Exception as ex:
    print(ex.args[0])
ConvertCoordinateNotation, пример 4 (автономный скрипт)

Пример ConvertCoordinateNotation, конвертирующий выходные текстовые значения координат в десятичных градусах в числовые значения с плавающей точкой. Помните, что вместо S и W будет использоваться знак "минус".

# imports
import arcpy

# output from Convert Coordinate Notation tool
# for DD_2 (and also for DD_1) format, the output values are in string format
# for example, for DD_1, the output values may be '43.63872N 116.24135W'
in_table = r"c:\data\ccn.gdb\ccn_dd1"

# add a field of type DOUBLE to store the numeric longitude value
arcpy.AddField_management(in_table, "DDLonDbl", "DOUBLE")

# now call CalculateField tool to convert the values, 'W' is negative
expr = """def convertToDouble(fldval):
    val = float(fldval[:-1])
    if fldval[-1:] == 'W':
        return val * -1.0
    else:
        return val"""

# DDLon field contains longitudes in a string field
arcpy.CalculateField_management(in_table,"DDLonDbl","convertToDouble(!DDLon!)","PYTHON_9.3",expr)
    
# add another field to store the numeric longitude value
arcpy.AddField_management(in_table, "DDLatDbl", "DOUBLE")

# call CalculateField again to convert the values, 'S' is negative
expr = """def convertToDouble(fldval):
    val = float(fldval[:-1])
    if fldval[-1:] == 'S':
        return val * -1.0
    else:
        return val"""

# DDLat field contains latitudes in a string field
arcpy.CalculateField_management(in_table,"DDLatDbl","convertToDouble(!DDLat!)","PYTHON_9.3",expr)

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

Связанные разделы