Convertir notación de coordenadas (Administración de datos)

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ámetroExplicaciónTipo 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_1Ambos valores de longitud y latitud se encuentran en un campo único. Dos valores se separan por un espacio, una coma o una barra diagonal.
  • DD_2Los valores de longitud y latitud se encuentran en dos campos separados.
  • DDM_1Ambos valores de longitud y latitud se encuentran en un campo único. Dos valores se separan por un espacio, una coma o una barra diagonal.
  • DDM_2 Los valores de longitud y latitud se encuentran en dos campos separados.
  • DMS_1Ambos valores de longitud y latitud se encuentran en un campo único. Dos valores se separan por un espacio, una coma o una barra diagonal.
  • DMS_2Los valores de longitud y latitud se encuentran en dos campos separados.
  • GARSSistema de referencia de área global. Se basa en la latitud y longitud, divide y subdivide el globo terráqueo en celdas.
  • GEOREFSistema de referencia geográfica mundial. Un sistema basado en cuadrículas que divide el globo terráqueo en cuadrángulos de 15 grados y después lo subdivide en cuadrángulos más pequeños.
  • UTM_ZONESLa letra N o S después del número de zona UTM indica hemisferio Norte o Sur.
  • UTM_BANDSLa letra después del número de zona UTM indica una de las 20 bandas de latitud. N o S no indica un hemisferio.
  • USNGCuadrícula nacional de Estados Unidos. Es casi exactamente lo mismo que MGRS pero utiliza el Datum de Norteamérica de 1983 (NAD83) como su datum.
  • MGRSSistema de Referencia de Cuadrícula Militar. Sigue las coordenadas UTM y divide el globo terráqueo en bandas de longitud de 6 grados y 20 bandas de latitud, pero MGRS además subdivide las zonas de cuadrículas en cuadrículas más pequeñas de 100.000 metros. Estas cuadrículas de 100.000 metros después se dividen en cuadrículas de 10.000 metros, 1.000 metros, 100 metros, 10 metros y 1 metro.
  • SHAPESolo está disponible cuando se selecciona una capa de entidades de puntos como entrada. Las coordenadas de cada punto se utilizan para definir el formato de salida.

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_1Ambos valores de longitud y latitud se encuentran en un campo único. Dos valores se separan por un espacio, una coma o una barra diagonal.
  • DD_2Los valores de longitud y latitud se encuentran en dos campos separados.
  • DD_NUMERICLos valores de longitud y latitud se encuentran en dos campos independientes de tipo Doble. Los valores en el Oeste y el Sur se indican mediante un signo menos, mientras que en DD_2, los valores son de texto y N, S, E y W se utilizan para indicar una dirección.
  • DDM_1Ambos valores de longitud y latitud se encuentran en un campo único. Dos valores se separan por un espacio, una coma o una barra diagonal.
  • DDM_2 Los valores de longitud y latitud se encuentran en dos campos separados.
  • DMS_1Ambos valores de longitud y latitud se encuentran en un campo único. Dos valores se separan por un espacio, una coma o una barra diagonal.
  • DMS_2Los valores de longitud y latitud se encuentran en dos campos separados.
  • GARSSistema de referencia de área global. Se basa en la latitud y longitud, divide y subdivide el globo terráqueo en celdas.
  • GEOREFSistema de referencia geográfica mundial. Un sistema basado en cuadrículas que divide el globo terráqueo en cuadrángulos de 15 grados y después lo subdivide en cuadrángulos más pequeños.
  • UTM_ZONESLa letra N o S después del número de zona UTM indica hemisferio Norte o Sur.
  • UTM_BANDSLa letra después del número de zona UTM indica una de las 20 bandas de latitud. N o S no indica un hemisferio.
  • USNGCuadrícula nacional de Estados Unidos. Es casi exactamente lo mismo que MGRS pero utiliza el Datum de Norteamérica de 1983 (NAD83) como su datum.
  • MGRSSistema de Referencia de Cuadrícula Militar. Sigue las coordenadas UTM y divide el globo terráqueo en bandas de longitud de 6 grados y 20 bandas de latitud, pero MGRS además subdivide las zonas de cuadrículas en cuadrículas más pequeñas de 100.000 metros. Estas cuadrículas de 100.000 metros después se dividen en cuadrículas de 10.000 metros, 1.000 metros, 100 metros, 10 metros y 1 metro.

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.

  • EXCLUDE_INVALIDSolo los registros válidos se convierten en puntos en la salida. Esta es la opción predeterminada.
  • INCLUDE_INVALIDLos registros válidos se convierten en puntos en la salida y los registros no válidos se incluyen como geometría nula.
Boolean

Muestra 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)

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

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)

Información de licenciamiento

  • Basic: Sí
  • Standard: Sí
  • Advanced: Sí

Temas relacionados