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
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.
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 requeridos para representar una ubicación se concatenan en una única cadena de caracteres y se almacenan en un único campo.
Para DD_2, DDM_2 y DMS_2, los valores de latitud y longitud se representan mediante dos campos independientes.
Para DD_NUMERIC, los valores de latitud y longitud se almacenan en dos campos independientes con el tipo doble.
GARS, GEOREF, UTM_ZONES, UTM_BANDS, USNG y MGRS son formatos de coordenadas de una cadena de caracteres, lo que significa que solo 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, incluidos el campo OID y los campos de formato de entrada, se transfieren a la clase de entidad de punto de salida. Los valores del campo OID se pueden usar para diferenciar las notaciones válidas que se convierten si Excluir registros con notación no válida se ha activado.
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 nombre del nuevo 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.
Desactive el parámetro Excluir registros con notación no válida para conservar la información relativa a todos los registros de entrada. La herramienta Verificar geometría se puede utilizar para identificar los registros con notaciones no válidas.
Si hay registros con notaciones no válidas, los mensajes de la herramienta incluirán la ruta del archivo de registro que contiene los Id. de todos los registros no válidos.
La herramienta Agregar coordenadas XY se puede utilizar para agregar dos campos, POINT_X and 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
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})
Parámetro | Explicación | Tipo de datos |
in_table | La tabla puede ser un archivo de texto o una tabla. Las entidades de punto también son válidas. | Table View |
out_featureclass | La clase de entidad de puntos de salida. 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, este es el campo de longitud. Para DD_1, DDM_1 y DMS_1, este campo contiene valores de latitud y 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érico en un único 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 valores de latitud y 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érico en un único 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 ajuste 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 ajuste 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 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 |
exclude_invalid_records (Opcional) | Cuando exclude_invalid_records se ha definido como True, la salida solo convertirá las notaciones válidas en puntos. De lo contrario, los registros no válidos se incluirán como geometría nula.
| Boolean |
Muestra de código
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")
Uso 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 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])
Muestra de ConvertCoordinateNotation que convierte los valores de grados decimales del 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 de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí