3 votos

¿Intercambio de coordenadas Lat y Lon de shapefile?

Tengo un archivo de forma que se compone de un polígono cuyo límite está definido por un gran número de puntos. Quien hizo originalmente el archivo invertido las coordenadas de latitud y longitud, por lo que los datos muestran a 38 grados al este de Greenwich y a 122 grados al sur del ecuador, que está muy al sur del polo sur, o en el espacio, o en algún lugar en el imaginario de número de línea, o algo así. ¿Cómo puedo solucionar este problema? Yo podría hacer otra shapefile y de introducir manualmente las coordenadas correctas, pero este en particular polígono se define por varios cientos de vértices así que prefiero no hacerlo de esa manera. Hay una secuencia de comandos de python o GP herramienta que me pueda ayudar?

3voto

steveax Puntos 316

Usted puede hacerlo fácilmente con Python. Usted puede hacer lo siguiente en ArcMap de la Ventana de Python:

with arcpy.da.UpdateCursor("your_layer_name", ['SHAPE@XY']) as rows:
    for r in rows:
        rows.updateRow((r[0][::-1],))

Tendrás que actualizar la vista activa después. Usted puede hacer eso con el botón actualizar o arcpy.RefreshActiveView(). Entonces usted debe ver los puntos de cambio.

EDITAR:

Acabo de leer tu pregunta de nuevo. Si desea omitir el punto de ajuste, e invertir las coordenadas de todos los vértices de los polígonos de sí mismos, el código se vuelve un poco más complicado, pero conserva el mismo principio general:

with arcpy.da.UpdateCursor("your_layer_name", ['SHAPE@']) as rows:
    for r in rows:
        # reverse points within polygon (supports multipart polygons as well)
        rows.updateRow((arcpy.Polygon(arcpy.Array(arcpy.Array([arcpy.Point(p.Y, p.X) for p in part]) for part in r[0])),))

0voto

Ben Puntos 11

¿Tiene la información de atributos x y y puntos? Si no se podría tratar de característica a punto para crearlos y luego X e Y.

0voto

kervin Puntos 7620

Exportar su shapefile como una tabla, haga clic con el botón derecho en la tabla y elija "Display XY Data". Cuando entres en los campos de latitud y longitud, cambiar el orden de sus campos, y ahora va a tener un correcto X / Y capa de eventos, que puede exportar a un gdb como una clase de función

0voto

mcintyre321 Puntos 5393

Puede crear nuevo añadir dos campos columnas para el shapefile y luego calcuate de la vieja campo columna tales como coordenadas X e Y coordinan para el nuevo campo. A continuación, puede eliminar los viejos desde el shapefile.

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