4 votos

¿Cómo puedo importar coordenadas de Excel con letras a ArcMap?

Tengo un documento de Excel con muchas coordenadas en el siguiente formato:

lat: 2.03° S
lon: 80.00° W

¿Es posible importar estos datos directamente en ArcMap o tengo que transformarlos forzosamente en numéricos puros antes de cargarlos?

8voto

Anton8000 Puntos 165

Puedes hacerlo usando python. Agregue su excel a ArcMap, modifique las líneas # y luego ejecute el código de abajo en la ventana de Python. Estoy usando el Módulo de expresiones regulares (re) para encontrar la parte flotante (por ejemplo 2,1) de cada coordenada y un Diccionario para traducir W a -1, E a 1 y así sucesivamente.

import arcpy, re

temp = r'in_memory\excel'
outlayer = 'out_lyr'

sp = arcpy.SpatialReference(4326) #Change EPSG code
latlon = ['lat','lon'] #Change to match the names of lat and long fields in excel
sheet_name = "Blad1$" #Change to match the name of excel sheet

arcpy.CopyRows_management(sheet_name, temp)

coords = ['X','Y']
for field in coords:
    arcpy.AddField_management(in_table=temp, field_name=field, field_type='DOUBLE')

d = {'W':-1,'E':1, 'N':1, 'S':-1}

with arcpy.da.UpdateCursor(temp,coords+latlon) as cursor:
    for row in cursor:
        row[0] = d[row[2][-1]] * float(re.findall("\d+\.\d+", row[2])[0])
        row[1] = d[row[3][-1]] * float(re.findall("\d+\.\d+", row[3])[0])
        cursor.updateRow(row)

arcpy.MakeXYEventLayer_management(table=temp, in_x_field='X', in_y_field='Y', 
                                 out_layer=outlayer, spatial_reference=sp)

Si quieres que la capa sea permanente, cópiala en el disco.

Entrada: enter image description here La salida: enter image description here

2voto

Mark Puntos 6505

Con los datos que tienes querrás sólo números reales.

Tendrá que eliminar las letras y multiplicar los valores por uno negativo cuando corresponda y también eliminar el símbolo de los grados.

1voto

Not Emelia Stone Puntos 6

¡Lo encontré!

http://pro.arcgis.com/en/pro-app/tool-reference/data-management/convert-coordinate-notation.htm

Esta herramienta permite convertir coordenadas que contienen letras (incluso esos temibles símbolos de grado). Gracias a todos por vuestra ayuda

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X