Usar scripts de Python para el Geoprocesamiento

Un Script representa otra manera de llevar a cabo operaciones de geoprocesamiento en ArcGIS. Una secuencia de comandos Python básica es similar a un modelo, excepto que utiliza código en lugar del lenguaje de programación visual de ModelBuilder. Python es el lenguaje de programación preferido para trabajar con ArcGIS, y los códigos Python se puede ejecutar directamente en la ventana de Python.

Ventana Python en ArcMap

Ahora vamos a crear un pequeño script para realizar un clip a una entidad poligonal.

  1. En la barra de herramientas estándar de ArcMap, haga clic en el botón de la ventana de Python.
          Esto abre la ventana de Python. El prompt (>>>) indica que el Ventana de Python está listo                 para aceptar código.




Para ser capaz de ejecutar las herramientas de geoprocesamiento de Python, primero tiene que importar el paquete web ArcPy, que le vamos a hacer a continuación. Importación de la Paquete de sitio ArcPy hace todas las herramientas en el marco de geoprocesamiento en ArcGIS para Python scripting.

  2. Siguiendo el indicador, escriba lo siguiente:

>>> import arcpy y presionar ENTER

Dentro de la ventana de Python, ArcPy se hace referencia de forma automática, por lo que el declaración ArcPy importación de hecho no es necesario utilizar el geoprocesamiento herramientas desde dentro de esa ventana. Sin embargo, en el código Python scripts de la ventana se puede convertir en un archivo de script (.py) y stand-solo hacen necesitará la declaración ArcPy importación.

Nota: No escriba los (>>>) símbolos superiores. Se muestran aquí para indicar que el código Python debe ser escrito después de la solicitud. Cuando un script Python es escrito, ya no se utiliza el símbolo. en muchos entornos de programación, el indicador se conoce como un "símbolo del sistema", por lo que puede ver cualquiera de los términos utilizados en este tutorial.

Observe que la ventana de Python proporciona instrucciones para ayudar en la escritura sintaxis correcta. Por ejemplo, cuando usted comienza a escribir la letra i, una lista es provisto de los elementos de código que comienzan con esta letra. Puedes seleccionar la opción que desee utilizando las teclas de flecha para apuntar a la misma y, a continuación, presione la tecla TAB.








Ojo: si no quieren hacer esto, simplemente sigan escribiendo el comando.

  3. Después de su primera línea de código (import arcpy), pulse ENTER. presionando ENTER nos lleva a un nuevo símbolo en la línea siguiente. Recuerde que Python es un lenguaje interpretado, lo que significa que en la ventana de Python, una sola línea de código se ejecuta tan  pronto como pulse ENTER.


Ahora ya está listo para funcionar una herramienta de geoprocesamiento.

  4. En la siguiente línea de código, escriba lo siguiente, pero no presione ENTER aún:

      >>> arcpy.Clip_analysis

Este código llama a la herramienta Recortar (Clip). Python es sensible a mayúsculas (en su mayor parte), así que asegúrese de escribir "Clip", no "clip." Llamar a la herramienta Clip es equivalente a abrir el cuadro de diálogo de la herramienta (ArcToolbox). El siguiente paso es especificar los parámetros de la herramienta, como si estuviera llenando el cuadro de diálogo de la herramienta. Cuando empiece a teclear, las indicaciones serán útiles para garantizar que se utiliza la sintaxis correcta.

Cuando escribe un paréntesis [(] después de la herramienta Clip, un desplegable

Aparece la lista, que contiene todas las capas de la tabla de contenido de ArcMap.



En lo anterior, se presenta todo los layers que tenemos en la tabla de contenido en ArcMap.

  5. Complete la siguiente línea de código:

arcpy.Clip_analysis("soils", "basin", "soils_Clip"). 

Esto lo podemos hacer con cualquier capa (no es necesario tener estas entidades que se presentan aquí).

  6. Presione ENTER para ejecutar este análisis. Al igual que cuando una herramienta se ejecuta desde ArcToolbox, cuando el proceso de fondo está activada, una barra de progreso aparece en la barra de estado de ArcMap, para demostrar que la herramienta está en funcionamiento. una vez la ejecución de la herramienta es completa, una pequeña notificación emergente aparece en la área de notificación, en el extremo derecho de la barra de tareas. La clase de entidad de salida es añadido al DATA FRAME, y el resultado se visualiza en la ventana de Python.

Script ejecutado
 PythonWin

El uso de código Python en la ventana de Python está cubierto con más detalles en próximos artículos que estaremos publicando. Por ahora, es importante recordar que se puede ejecutar geoprocesamiento herramientas directamente desde la ventana de Python. Las líneas de código son ejecutadas de inmediato, y la ventana de Python está muy integrada con la Interfaz de ArcGIS.

Además de trabajar con el código Python en la ventana de Python, puede escribir y ejecutar código en un editor de Python. Utilizará el editor de  PythonWin en la siguiente serie de pasos para crear un script sencillo.


  7. En la barra de tareas, haga clic en el botón Inicio y, a continuación, en el inicio menú, haga         clic  en Programas> Python 2.7> PythonWin. Esto nos lleva a la aplicación PythonWin.

  8. En la barra de menú PythonWin, haga clic en Archivo> Nuevo. En el cuadro de diálogo nuevo,          haga clic en Python Script y haga clic en Aceptar.


Esto nos lleva a una nueva ventana de script.



  9. En la barra de menú, haga clic en Archivo> Guardar como y guarde el script como my_clip.py en el directorio de su pc preferido C:/. Los  archivos script Python son simplemente archivos de texto que tienen la extensión .py. 

Aquí no hay prompt (>>>) en la ventana de script. El código Python en un script no se ejecuta hasta que se ejecuta la secuencia de comando. Así que usted puede escribir varias líneas de código antes de ejecutar el script.

  10. Escriba el siguiente código en la ventana de script my_clip:

import arcpy
arcpy.env.workspace = "C:/tu_directorio/Python/Data/"
arcpy.Clip_analysis("lakes.shp","basin.shp", "results/lakes_myClip.shp")

La línea de código que comienza con arcpy.env.workspace equivale a establecer el espacio de trabajo en el cuadro de diálogo, configuración del entorno. Esta sintaxis se explica con más detalle en los siguientes artículos que publicaremos.

Nota: El área de trabajo se debe establecer en el script Python, a pesar de que la configuración del entorno se han establecido en el marco de geoprocesamiento en ArcMap (es decir, en ArcToolbox). Una secuencia de comandos de Python independiente no hereda la configuración del entorno de ArcGIS para aplicaciones de escritorio.

Su ventana de script debe verse más o menos como la siguiente figura.



  11. En la barra de menú PythonWin, haga clic en Archivo> Guardar para guardar el script.

Nota: Después de las ediciones posteriores, haga clic en el botón Ejecutar para guardar el script automáticamente.


  12. En la barra de herramientas, haga clic en el botón Ejecutar.

  13. En el cuadro de diálogo Ejecutar script, deje la configuración predeterminada (No
debugging). Haga clic en Aceptar.



El script ahora se ejecuta. Tras la ejecución del script, no aparece inmediatamente. Debido a que estamos  ejecutando una secuencia de comandos independiente, la salida no se añade automáticamente a un Data Frame en ArcMap. De hecho, ArcMap no tiene que estar abierto para un script se ejecute.


  14. En ArcMap, abra la ventana Catálogo, navegue a la carpeta donde guardó el archivo, y confirme que el shapefile lakes_myClip está creado.


La secuencia de comandos de Python realiza la misma tarea que el código Python en la ventana de Python: en ambos lugares, la herramienta Clip  crea un nuevo conjunto de datos (Dataset) - en este caso, un shapefile. Sin embargo, hay algunas diferencias:







  • La ventana de Python hereda los ambientes del geoprocesamiento framework en ArcMap (ambiente de trabajo), pero en la secuencia de comandos de Python, es necesario establecer el ambiente de trabajo.







  • La secuencia de comandos de Python puede ejecutar sin tener ningún ArcGIS Desktop  abierto, aunque  la ventana de Python es una parte integral de ArcGIS desktop.







  • Los códigos de la ventana de Python se ejecuta línea por línea, mientras que el Script independiente de  Python se ejecuta en su totalidad.


  • Estas diferencias entre la ejecución de scripts de Python y ejecuatar código en la ventana de Python se volverá a mencionar en los próximos artículos.



    Para ver el vídeo tutorial entrar aquí.

    Descargar los archivos de trabajo aquí






    Comentarios

    Publicar un comentario

    Entradas populares de este blog

    Acerca de las imágenes Landsat 5 y 7ETM+

    Los satélites y Resoluciones

    Landsat Toolbox Para ArcGIS