Resumen
Convierte notaciones de coordenadas presentes en uno o dos campos de un formato a otro.
Obtenga más información sobre formatos de notaciones compatibles
Uso
La tabla de entrada puede ser un archivo de texto o cualquier tabla compatible con ArcGIS. Las entidades de punto también son válidas.
El sistema de coordenadas de los valores almacenados en Campo X (Longitud) y Campo Y (Latitud) está especificado en el parámetro Sistema de coordenadas de entrada. El valor predeterminado es GCS_WGS_1984 a menos que la tabla de entrada sea una clase de entidad, en cuyo caso el valor predeterminado es el sistema de coordenadas de las entidades de entrada.
La salida es una clase de entidad de puntos en la que cada ubicación de entrada con una notación válida se representa como un punto. Los registros con notaciones no válidas no tendrán ninguna geometría y los valores de los registros de los campos de salida recién agregados estarán vacíos.
- Para los registros de entrada con notaciones no válidas no se crea ninguna geometría de punto. Ejecute Verificar geometría para buscar los registros que no se hayan convertido.
Son compatibles los siguientes formatos:
- Grados decimales (DD)
- Grados minutos en formato decimal (DDM)
- Grados-minutos-segundos (DMS)
- Sistema de referencia de área global (GARS)
- GEOREF (Sistema de referencia geográfica mundial)
- Proyección universal transversal de Mercator (UTM)
- Cuadrícula nacional de Estados Unidos (USNG)
- Sistema de Referencia de Cuadrícula Militar de EE. UU. (MGRS)
Para DD_1, DDM_1 y DMS_1, los valores de latitud y longitud necesarios para representar una ubicación están concatenados en una sola cadena de caracteres y almacenados en un solo campo.
Para DD_2, DDM_2 y DMS_2, los valores de la latitud y la longitud se representan mediante dos campos independientes.
Para DD_NUMERIC, los valores de la latitud y la longitud se almacenan en dos campos independientes de tipo Doble.
GARS, GEOREF, UTM_ZONES, UTM_BANDS, USNG y MGRS son formatos de coordenadas de una sola cadena, es decir, únicamente un campo contiene la coordenada.
Consulte la explicación del parámetro Formato de coordenadas de entrada a continuación para obtener más información.
Todos los campos de la tabla de entrada que no pertenecen al sistema, incluidos los campos de formato de entrada, se transfieren a la clase de entidad de puntos de salida.
Los nombres de campo de salida coinciden con el nombre de la notación de coordenadas de salida. Por ejemplo, si el formato de salida es MGRS, el nuevo nombre de campo de salida será MGRS.
Si en la salida ya existe un campo con el mismo nombre que el campo de entrada, el nombre del campo copiado se incorpora con un número único.
La herramienta Agregar coordenadas XY se puede utilizar para agregar dos campos, POINT_X y POINT_Y, a la clase de entidad de puntos de salida. Estos campos contienen las coordenadas de un punto en la unidad del sistema de coordenadas de la clase de entidad.
Sintaxis
ConvertCoordinateNotation_management (in_table, out_featureclass, x_field, y_field, input_coordinate_format, output_coordinate_format, {id_field}, {spatial_reference}, {in_coor_system})
Parámetro | Explicación | Tipo de datos |
in_table | La tabla que contiene los campos con notaciones de coordenadas a convertir. | Table View |
out_featureclass | La clase de entidad de salida de puntos. La tabla de atributos contendrá todos los campos de la tabla de entrada junto con los campos que contienen los valores convertidos al formato de salida. | Feature Class |
x_field | Un campo de la tabla de entrada que contiene el valor de longitud. Para DD_2, DD_NUMERIC, DDM_2 y DMS_2, este es el campo de longitud. Para DD_1, DDM_1 y DMS_1, este campo contiene tanto los valores de latitud como de longitud en una sola cadena de caracteres. Para GARS, GEOREF, UTM_ZONES, UTM_BANDS, USNG y MGRS, este campo contiene un sistema de notación alfanumérica en un solo campo de texto. El parámetro y_field se ignora cuando se elige uno de los formatos de una sola cadena de caracteres. | Field |
y_field | Un campo de la tabla de entrada que contiene el valor de latitud. Para DD_2, DD_NUMERIC, DDM_2 y DMS_2, este es el campo de longitud. Para DD_1, DDM_1 y DMS_1, este campo contiene tanto los valores de latitud como de longitud en una sola cadena de caracteres. Para GARS, GEOREF, UTM_ZONES, UTM_BANDS, USNG y MGRS, este campo contiene un sistema de notación alfanumérica en un solo campo de texto. Este parámetro se ignora cuando se elige uno de los formatos de una sola cadena de caracteres. | Field |
input_coordinate_format | Formato de las coordenadas en los campos de entrada. El valor predeterminado es DD_2.
DD, DDM, DMS y UTM también son palabras clave válidas; se pueden utilizar con solo escribirlas (en diálogo) o introduciendo el valor en secuencia de comandos. Sin embargo, las palabras clave con guión bajo y un calificador aportan más información sobre los valores de campo. | String |
output_coordinate_format | Formato de coordenadas para el que se convertirán las notaciones de entrada. El valor predeterminado es DD_2.
DD, DDM, DMS y UTM también son palabras clave válidas; se pueden utilizar con solo escribirlas (en diálogo) o introduciendo el valor en secuencia de comandos. Sin embargo, las palabras clave con guión bajo y un calificador aportan más información sobre los valores de campo. | String |
id_field (Opcional) | Este parámetro se ignora debido a que todos los campos que no pertenecen al sistema se transfieren a la tabla de salida. | Field |
spatial_reference (Opcional) |
Referencia espacial de la clase de entidad de salida. El valor predeterminado es GCS_WGS_1984. La herramienta proyecta la salida a la referencia espacial especificada. Si los sistemas de coordenadas de salida están en un datum distinto, se utiliza una transformación predeterminada basada en los sistemas de coordenadas de la entrada y la salida y la extensión de los datos. | Spatial Reference |
in_coor_system (Opcional) |
Referencia espacial de los datos de entrada. Si no es posible obtener la referencia espacial de entrada a partir de la tabla de entrada, se utiliza el valor predeterminado GCS_WGS_1984. | Coordinate System |
Ejemplo de código
Ejemplo 1 de ConvertCoordinateNotation (secuencia de comandos independiente)
Uso de ConvertCoordinateNotation con un campo de formato de entrada.
# 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")
Ejemplo 2 de ConvertCoordinateNotation (secuencia de comandos independiente)
Formato de ConvertCoordinateNotation con dos campos de formato de entrada.
# 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])
Ejemplo 3 de ConvertCoordinateNotation (secuencia de comandos independiente)
Ejemplo de uso de ConvertCoordinateNotation con los formatos UTM_ZONES y 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])
Ejemplo 4 de ConvertCoordinateNotation (secuencia de comandos independiente)
Ejemplo de ConvertCoordinateNotation que convierte los valores de grados decimales de texto de salida en valores de punto flotante. En lugar de S y O se utiliza un signo negativo.
# 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)
Entornos
Información sobre licencias
- ArcGIS for Desktop Basic: Sí
- ArcGIS for Desktop Standard: Sí
- ArcGIS for Desktop Advanced: Sí