En este articulo aprenderás como modificar la simbología de una capa especificada almacenada en uno o varios archivos MXD utilizando Python.
Sucede a menudo que durante la ejecución de un proyecto en el cual se han venido realizando distintas salidas gráficas y/o mapas que por alguna razón se hace necesario la modificación de la simbología utilizada para representar los datos espaciales (Shapefile, feature Class, entre otros), ya sea por gusto del cliente final, tu jefe inmediato o porque ha habido cambios en la información espacial per-se, entre las razones que alcanzo a vislumbrar en este momento. La solución tradicional seria la siguiente:
¿Cómo modificar la simbología de una capa de ArcGIS / ArcMap?
Opción 1:
1) Abrir el archivo MXD.
2) Dar doble clic a la capa a la cual se le quiere modificar la simbología (Es lo mismo que hacer clic derecho [a] y presionar el botón "Properties..." [b]), ir a la pestaña Symbology (c).
3) Ajustar la simbología.
4) Darle clic en el botón Aceptar.
5) Guardar el archivo MXD.
6) Repetir el procedimiento en cada archivo MXD.
Una forma de hacerlo manualmente un poco más ágil, sería la siguiente:
Opción 2:
1) Abrir el archivo MXD.
2) Dar doble clic a la capa a la cual se le quiere modificar la simbología (Es lo mismo que hacer clic derecho [a] y presionar el botón "Properties..." [b]), ir a la pestaña Symbology (c).
3) Ajustar la simbología.
4) Dar clic en el botón aceptar.
Crear un archivo de simbología de capa
5) Guardar la nueva simbología de la capa como archivo. lyr; para esto haz clic derecho sobre la capa (a), presiona el botón "Save As Layer File..." (b) posteriormente ubica un directorio donde guardar el nuevo archivo y presiona el botón "Save" (c).
6) Guardar el archivo MXD.
Importar simbología en ArcGIS desde archivo .lyr
7) Abrir otro archivo MXD, Dar doble clic a la capa a la cual se le quiere modificar la simbología (Es lo mismo que hacer clic derecho [a] y presionar el botón "Properties..." [b]), ir a la pestaña Symbology (c), pero en lugar de modificar la simbología, presiona el botón "Import..." (d), luego pulsa el icono de carpeta (e).
8 ) Busca el archivo .lyr del paso 5 y presiona el botón "Add" (f).
9) Presiona "OK" (g) y presiona el botón "Aceptar" (h), finalmente guarda el archivo MXD.
9) Repetir este paso con los archivos de mapas y/o figuras restantes.
Este segundo proceso indicado a partir del paso 7 es el que aprenderás como automatizar en este artículo, ya que aunque hacerlo así resulta un poco mejor, aun puede consumir mucho de tu tiempo, a continuación te enseñare como puede ser mucho más eficiente utilizando código Python (No te preocupes no necesitaras saber programar para lograrlo).
¿Cómo modificar la simbología por lotes de una capa de ArcGIS / ArcMap usando Python?
Paso 1: Abrir el archivo MXD.
Paso 2: Dar doble clic a la capa a la cual se le quiere modificar la simbología, ir a la pestaña Symbology.
Paso 3: Ajustar la simbología.
Paso 4: Dar clic en el botón "Aceptar".
Paso 5: Guardar la nueva simbología de la capa como archivo ".lyr".
Nota: Los pasos hasta ahora descritos estan ilustrados en los apartados anteriores llamados "Crear un archivo de simbología de capa" e "Importar simbología en ArcGIS desde archivo .lyr".
Paso 6: Cerrar el archivo MXD (no es necesario guardar los cambios).
Paso 7: Abrir un archivo de ArcGIS en blanco.
Paso 8: Abrir la ventana Python en la barra de herramientas Standard.
Paso 9: Respaldar los archivos MXD originales.
Paso 10: Copiar en un blog de notas el siguiente código y reemplazar el texto C:\EJEMPLO\EJEMPLO\LayerMod.lyr en la línea #09 por el nombre del archivo .lyr incluyendo la ruta donde se almacena.
Paso 11: En la línea #02 del código remplazar la ruta C:\EJEMPLO\EJEMPLO con la ruta donde se almacenan los archivos MXD a modificar.
Paso 12: En la línea #06 del código remplazar DATAFRAME por el nombre del marco de datos (Dataframe) que contiene la capa a modificar (Es una buena practica que si hay mas de un marco de datos dentro de un archivo MXD, el nombrar cada uno de forma única).
Paso 13: En la línea #07 del código remplazar Lyr por el nombre de la capa a modificar.
Paso 14: Copiar el código modificado en la ventana Python y presionar la tecla Enter o Intro dos veces.
Al cabo de unos segundos veras como comienza a actualizarse la fecha de modificación de los archivos de ArcMap, y al abrirlo notaras la actualización de la simbología de las capas en cada archivo MXD
Espero hayas disfrutado este artículo, próximamente subiré un video explicativo del procedimiento que podrás consultar en este blog. Guarda mi blog entre tus enlaces favoritos, estaré subiendo muchos más trucos de este estilo, recuerda que puedes hacer llegarme tus inquietudes en la página de contacto o deja tu comentario, estaré atento a responder.








