top of page

5 scripts útiles en python para cualquier tarea GIS

Desarrollando el módulo electivo Trabajando con Python en ArcGIS de mi maestría UNIGIS, tuve la oportunidad de conocer de primera mano el lenguaje de programación Python. Tal y como se describe en su página web, Python es un lenguaje de programación que nos permite trabajar nuestros sistemas de manera más rápida y eficiente. Ya seamos nuevos en programación o un desarrollador experimentado, Python es fácil aprender y usar.


En el transcurso del módulo electivo pudimos aprender a:

  • Crear scripts de python para análisis de ráster.

  • Desarrollar scripts de python para automatización de mapas.

  • Implementar scripts de python para flujos de trabajo geoestadístico.

Me quedé realmente impresionado por su capacidad de manejo de información, escritura fácil de scritps, uso inmediato de los scripts desarrollados y comprensión fluida de los códigos debido a su estructura y orden.


Esa es la razón por la cual, en esta entrada quiero presentar 5 scripts en python útiles para cualquier tarea GIS. Esta compilación tiene como fuentes los códigos desarrollados en el módulo electivo y el aporte de entusiastas GIS de la web.

 

1. Conocer la fuente de datos de nuestras capas activas

mxd = arcpy.mapping.MapDocument("CURRENT")

for lyr in arcpy.mapping.ListLayers(mxd):

if lyr.supports("WORKSPACEPATH"):

print ("Layer: {} Workspace: {}".format(lyr.name, lyr.workspacePath))


Si se necesita saber la fuente de datos para todas las capas activas (que pueden ser muchas), sin abrir el cuadro de diálogo Propiedades capa por capa, este script nos devuelve los nombres y la ubicación del área de trabajo de las capas.


 

2. Identificar las capas activas con una fuente de datos válida

mxd = arcpy.mapping.MapDocument("CURRENT")

for lyr in arcpy.mapping.ListLayers(mxd):

print ("Layer: {} Broken?: {}".format(lyr.name, lyr.isBroken))


Este script nos brinda una aproximación distinta al script anterior, como resultado obtenemos una lista de las capas activas en nuestro proyecto actual y un valor Verdadero o Falso si su fuente de datos es válida o no.

 

3. Arreglar fuentes de datos inválidas

mxd = arcpy.mapping.MapDocument("CURRENT")

mxd.findAndReplaceWorkspacePaths( r'espacio_de_trabajo_antiguo.gdb', r'espacio_de_trabajo_nuevo.gdb')

arcpy.RefreshActiveView()


Luego de identificar las fuentes de datos inválidas con alguno de los dos anteriores comandos, podemos cambiar la fuente de datos desde su ubicación antigua a su ubicación actual. Cabe mencionar que este script cambia la fuente de datos para todas las capas y tablas del proyecto actual.

 

4. Comprobar si las capas tienen algún tipo de filtro

mxd = arcpy.mapping.MapDocument("CURRENT")

for lyr in arcpy.mapping.ListLayers(mxd):

if lyr.supports("DEFINITIONQUERY"):

print ("Layer: {} Definition Query: {}".format(lyr.name, lyr.definitionQuery))


Si en algún momento necesitamos comprobar si alguna capa de nuestro proyecto tiene activo algún filtro, este script nos devolverá el nombre de la capa y la definición del filtro aplicado a cada una de las capas.

 

5. Combinar varios archivos PDF

pdf = arcpy.mapping.PDFDocumentOpen(r'ruta_a_nuestro_archivo_pdf1.pdf')

pdf.appendPages(r'ruta_a_nuestro_archivo_pdf_a_unir.pdf')

pdf.saveAndClose()

Con este simple script podemos crear un libro de mapas luego de exportarlos a formato PDF. Incluso podemos unir archivos PDF que no contengan mapas.

 
Gracias Python!!!

Posts Destacados
Posts Recientes
Búsqueda por Tags
Conéctate
  • Google+ Long Shadow
  • Facebook Long Shadow
  • LinkedIn Long Shadow
  • Twitter Long Shadow

Contáctame 

Telf.: (+593) 9956 - 90532

  • Google+ Long Shadow
  • Facebook Long Shadow
  • LinkedIn Long Shadow
  • Twitter Long Shadow

© 2016 por Javier Núñez. Creado con Wix.com

¡Tus datos se enviaron con éxito!

bottom of page