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

Уровень лицензии:BasicStandardAdvanced

Краткая информация

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

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

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

Синтаксис

ConvertCoordinateNotation_management (in_table, out_featureclass, x_field, y_field, input_coordinate_format, output_coordinate_format, {id_field}, {output_coordinate_system}, {in_coordinate_system})
ПараметрОбъяснениеТип данных
in_table

Таблица, содержащая поля с обозначениями координат, подлежащими конвертации.

Table View
out_featureclass

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

Feature Class
x_field

Поле из входной таблицы, содержащей значение долготы. Для DD_2, DD_NUMERIC, DDM_2 и DMS_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 метр.
  • SHAPEДоступно только если в качестве входных данных выбран слой точечных объектов. Координаты каждой из точек используются для определения выходного формата.

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

String
id_field
(дополнительно)

Прежние версииПрежние версии:

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

Field
output_coordinate_system
(дополнительно)

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

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

Spatial Reference
in_coordinate_system
(дополнительно)

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

Spatial Reference

Пример кода

Convert Coordinate Notation Пример 1 (автономный скрипт)

Основное использование инструмента "Конвертировать обозначения координат" (Convert Coordinate Notation) с одним входным полем.

# 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")
Convert Coordinate Notation Пример 2 (автономный скрипт)

Основное использование инструмента "Конвертировать обозначения координат" (Convert Coordinate Notation) с двумя входными полями.

# 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])
Convert Coordinate Notation Пример 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])
Convert Coordinate Notation Пример 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"""
try:
    # DDLon field contains longitudes in a string field
    arcpy.CalculateField_management(in_table,"DDLonDbl","convertToDouble(!DDLon!)","PYTHON_9.3",expr)
except:
    print arcpy.GetMessages()

    
# 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"""

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

Параметры среды

Связанные темы

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

ArcGIS for Desktop Basic: Да
ArcGIS for Desktop Standard: Да
ArcGIS for Desktop Advanced: Да
5/10/2014