Convert Coordinate Notation (Data Management)

License Level:BasicStandardAdvanced

Summary

Converts coordinate notations contained on one or two fields from one notation format to another.

Learn more about supported notation formats

Usage

Syntax

ConvertCoordinateNotation_management (in_table, out_featureclass, x_field, y_field, input_coordinate_format, output_coordinate_format, {id_field}, {spatial_reference}, {in_coor_system})
ParameterExplanationData Type
in_table

The table containing the fields with coordinate notations to convert.

Table View
out_featureclass

The output feature class of points. The attribute table will contain all fields of the input table along with the fields containing converted values in the output format.

Feature Class
x_field

A field from the input table containing the longitude value. For DD_2, DD_NUMERIC, DDM_2, and DMS_2, this is the longitude field.

For DD_1, DDM_1, and DMS_1, this field contains both latitude and longitude values in a single string.

For GARS, GEOREF, UTM_ZONES, UTM_BANDS, USNG, and MGRS, this field contains an alphanumeric system of notation in a single text field.

The y_field parameter is ignored when one of the single-string formats is chosen.

Field
y_field

A field from the input table containing the latitude value. For DD_2, DD_NUMERIC, DDM_2, and DMS_2, this is the longitude field.

For DD_1, DDM_1, and DMS_1, this field contains both latitude and longitude values in a single string.

For GARS, GEOREF, UTM_ZONES, UTM_BANDS, USNG, and MGRS, this field contains an alphanumeric system of notation in a single text field.

This parameter is ignored when one of the single-string formats is chosen.

Field
input_coordinate_format

Coordinate format of the input fields. The default is DD_2.

  • DD_1Both longitude and latitude values are in a single field. Two values are separated by a space, a comma, or a slash.
  • DD_2Longitude and latitude values are in two separate fields.
  • DDM_1Both longitude and latitude values are in a single field. Two values are separated by a space, a comma, or a slash.
  • DDM_2 Longitude and latitude values are in two separate fields.
  • DMS_1Both longitude and latitude values are in a single field. Two values are separated by a space, a comma, or a slash.
  • DMS_2Longitude and latitude values are in two separate fields.
  • GARSGlobal Area Reference System. Based on latitude and longitude, it divides and subdivides the world into cells.
  • GEOREFWorld Geographic Reference System. A grid-based system that divides the world into 15-degree quadrangles and then subdivides into smaller quadrangles.
  • UTM_ZONESThe letter N or S after the UTM zone number designates only North or South hemisphere.
  • UTM_BANDSThe letter after the UTM zone number designates one of the 20 latitude bands. N or S does not designate a hemisphere.
  • USNGUnited States National Grid. Almost exactly the same as MGRS but uses North American Datum 1983 (NAD83) as its datum.
  • MGRSMilitary Grid Reference System. Follows the UTM coordinates and divides the world into 6-degree longitude and 20 latitude bands, but MGRS then further subdivides the grid zones into smaller 100,000-meter grids. These 100,000-meter grids are then divided into 10,000-meter, 1,000-meter, 100-meter, 10-meter, and 1-meter grids.
  • SHAPEOnly available when a point feature layer is selected as input. The coordinates of each point are used to define the output format.

DD, DDM, DMS, and UTM are also valid keywords; they can be used just by typing in (on dialog) or passing the value in scripting. However, keywords with underscore and a qualifier tell more about the field values.

String
output_coordinate_format

Coordinate format to which the input notations will be converted. The default is DD_2.

  • DD_1Both longitude and latitude values are in a single field. Two values are separated by a space, a comma, or a slash.
  • DD_2Longitude and latitude values are in two separate fields.
  • DD_NUMERICLongitude and latitude values are in two separate fields of type Double. Values in the West and South are denoted by a minus sign, whereas in DD_2, the values are in text and N, S, E, and W are used to denote direction.
  • DDM_1Both longitude and latitude values are in a single field. Two values are separated by a space, a comma, or a slash.
  • DDM_2 Longitude and latitude values are in two separate fields.
  • DMS_1Both longitude and latitude values are in a single field. Two values are separated by a space, a comma, or a slash.
  • DMS_2Longitude and latitude values are in two separate fields.
  • GARSGlobal Area Reference System. Based on latitude and longitude, it divides and subdivides the world into cells.
  • GEOREFWorld Geographic Reference System. A grid-based system that divides the world into 15-degree quadrangles and then subdivides into smaller quadrangles.
  • UTM_ZONESThe letter N or S after the UTM zone number designates only North or South hemisphere.
  • UTM_BANDSThe letter after the UTM zone number designates one of the 20 latitude bands. N or S does not designate a hemisphere.
  • USNGUnited States National Grid. Almost exactly the same as MGRS but uses North American Datum 1983 (NAD83) as its datum.
  • MGRSMilitary Grid Reference System. Follows the UTM coordinates and divides the world into 6-degree longitude and 20 latitude bands, but MGRS then further subdivides the grid zones into smaller 100,000-meter grids. These 100,000-meter grids are then divided into 10,000-meter, 1,000-meter, 100-meter, 10-meter, and 1-meter grids.

DD, DDM, DMS, and UTM are also valid keywords; they can be used just by typing in (on dialog) or passing the value in scripting. However, keywords with underscore and a qualifier tell more about the field values.

String
id_field
(Optional)

This parameter is ignored as all nonsystem fields are transferred to output table.

Field
spatial_reference
(Optional)

Spatial reference of the output feature class. The default is GCS_WGS_1984.

The tool projects the output to the spatial reference specified. If the input and output coordinate systems are in a different datum, then a default transformation is used based on the coordinate systems of the input and the output and the extent of the data.

Spatial Reference
in_coor_system
(Optional)

Spatial reference of the input data. If the input spatial reference cannot be obtained from the input table, the default of GCS_WGS_1984 is used.

Coordinate System

Code Sample

ConvertCoordinateNotation example 1 (stand-alone script)

ConvertCoordinateNotation usage with one input format field.

# 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 example 2 (stand-alone script)

ConvertCoordinateNotation usage with two input format fields.

# 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 example 3 (stand-alone script)

ConvertCoordinateNotation usage with UTM_ZONES and UTM_BANDS formats example.

# 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 example 4 (stand-alone script)

ConvertCoordinateNotation sample that converts the output text decimal degree values to floating point values. Note that Instead of S and W, a negative sign is used.

# 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()

Environments

Related Topics

Licensing Information

ArcGIS for Desktop Basic: Yes
ArcGIS for Desktop Standard: Yes
ArcGIS for Desktop Advanced: Yes
5/7/2015