Ejecutar herramientas en la ventana de Python
Cuando se abre la ventana de Python por primera vez, se verá similar a:
![]() |
La sección izquierda es la ventana de comando principal de la ventana de Python, donde se ejecutan los comandos de Python. La sección derecha es la ventana de ayuda y sintaxis, donde se muestran los mensajes de ejecución al ejecutar las herramientas y donde se mostrará la ayuda para la herramienta, la función o la clase actual cuando se ingresa el código.
El primer paso para acceder a las herramientas y demás funciones arcpy en la ventana de Python es escribir arcpy. en la ventana de comandos, para visualizar una lista desplegable de todas las herramientas, funciones y clases de arcpy. Es posible desplazarse a través de esta lista con el puntero o con las teclas ARRIBA y ABAJO del teclado. A medida que se introducen caracteres adicionales, se filtra la lista desplegable para mostrar sólo las herramientas o los métodos que coinciden con los caracteres introducidos. Por ejemplo, si introduce arcpy.addf en la ventana de Python, la lista desplegable contiene solamente las herramientas o los métodos que comienzan con esos caracteres. Si se desplaza hasta arcpy.AddField_management o hace clic ahí, la tecla TAB rellenará automáticamente el nombre completo de la herramienta en la ventana de comando. Cuando se introduce un paréntesis de apertura (, en la ventana de ayuda y sintaxis aparecerá la ayuda de la herramienta arcpy.AddField_management. Por defecto, se resalta el primer parámetro.
En Python, se utiliza el nombre de la herramienta en lugar de la etiqueta de la herramienta. La etiqueta de la herramienta se visualiza en la parte superior del cuadro de diálogo de la herramienta o en la ventana Catálogo. Los nombres de las herramientas suelen ser parecidos a las etiquetas de las herramientas pero no contienen espacios. En Python, se incluye también el alias de la caja de herramientas junto con el nombre de la herramienta.
Una vez introducidos todos los parámetros obligatorios, pulse la tecla INTRO para ejecutar la herramienta. Aparecerán mensajes de ejecución en la sección de ayuda y sintaxis de la ventana de Python. Los mensajes tendrán distintos colores de texto, según el tipo de mensaje. Los colores de texto predeterminados y sus significados son los siguientes:
Color |
Significado |
---|---|
Negro |
Mensajes de información normales. |
Rojo |
Mensaje de error: no se crearon resultados. |
Naranja |
Mensaje de advertencia: es posible que los resultados no sean los esperados. |
Puede cambiar los colores haciendo clic con el botón derecho del ratón en la sección de ayuda y sintaxis de la ventana de Python y seleccionando Formato.
Parámetros requeridos y parámetros opcionales
Los parámetros de la herramienta pueden ser requeridos u opcionales. Los parámetros opcionales se encuentran entre llaves { }; los parámetros requeridos, no.
Tipo de parámetro |
Símbolo |
Significado |
---|---|---|
Obligatorio |
Parámetro requerido. Estos parámetros siempre son los primeros parámetros en el comando. Debe introducir un valor para los parámetros requeridos. |
|
Opcional |
{ } |
Parámetro opcional. Estos parámetros siempre se encuentran a continuación de los parámetros requeridos. Si no introduce un valor para un parámetro opcional, se calcula y se utiliza el valor predeterminado. El valor predeterminado de un parámetro se encuentra en la ayuda de la herramienta. |
Las herramientas pueden tener varios parámetros opcionales. A veces, sólo algunos de los parámetros opcionales de una herramienta son necesarios y deben configurarse. Existen tres maneras de omitir, o mover a un lado, un parámetro opcional:
- Defina el parámetro opcional como un conjunto vacío de comillas ("").
- Defina el parámetro opcional como un signo numeral entre comillas ("#").
- Especifique de manera explícita el nombre del parámetro que va a utilizar junto con su valor (omita todo menos el parámetro nombrado).
En el ejemplo que sigue, se utiliza la herramienta Agregar campo, pero el cuarto y el quinto parámetro conservan los valores predeterminados, utilizando estas tres técnicas:
# Use empty strings to skip optional parameters
arcpy.AddField_management("c:/data/streets.shp", "Address", "TEXT", "", "", 120)
# Use the # sign to skip optional arguments
arcpy.AddField_management("c:/data/streets.shp", "Address", "TEXT", "#", "#", 120)
# Use the parameter name to bypass unused optional arguments
arcpy.AddField_management("c:/data/streets.shp", "Address", "TEXT", field_length=120)
Valores predeterminados
- Los parámetros opciones tienen valores predeterminados. Si introduce un # (signo numeral) entre comillas, "" (dos comillas dobles), '' (dos comillas sencillas) o None de Python para un parámetro opcional, se utilizará el valor de parámetro predeterminado. Para las palabras clave, el valor predeterminado es la primera palabra clave de la lista. Consulte la ayuda para obtener los valores de parámetro predeterminados para una herramienta en particular.
- Es frecuente omitir algunos parámetros opcionales para obtener el parámetro que desea modificar.
Listas desplegables de parámetros
Las listas desplegables aparecen en la ventana de Python siempre que una herramienta reconoce las opciones disponibles para un parámetro específico. Al igual que en el cuadro de diálogo de la herramienta, el parámetro identificará y filtrará los valores correspondientes. Por ejemplo, la herramienta AddXY_management solo admite clases o capas de entidad de puntos para las entidades de entrada, por lo que la lista desplegable para este parámetro solo contendrá las capas de entidad de puntos disponibles; de manera similar, la herramienta DeleteField_management proporciona una lista desplegable de campos basados en la tabla de entrada.
Parámetros de valor múltiple
El parámetro de una herramienta puede admitir un único valor o varios valores, según el parámetro. Cuando se admiten varios valores, el valor del parámetro se puede especificar como una lista de Python.
La herramienta Eliminar campo acepta varios campos para eliminarlos. Para eliminar varios campos mediante Eliminar campo, introduzca los nombres de los campos como cadenas dentro de una lista de Python.
arcpy.DeleteField_management("c:/base/rivers.shp", ["Type", "Turbidity", "Depth"])
Algunas herramientas, como las herramientas de superposición Union_analysis y Intersect_analysis, tienen parámetros que se representan como una tabla, es decir, tienen varias filas, con varios valores para cada fila. En el caso de Union_analysis, el parámetro Entidades de entrada admite el uso de clasificaciones de prioridad, que se utilizan para mantener una alta exactitud en las entidades. Se asigna una clasificación a cada clase de entidad de entrada como valor opcional, donde 1 es la clasificación más alta.
Los parámetros que se representan como una tabla se denominan Tablas de valores. Las tablas de valores se introducen como una lista de las listas de Python. Para el parámetro Entidades de entrada en Union_analysis, la clasificación se especifica después del nombre de la clase de entidad con una coma que separa los valores. Cada par de clasificaciones de clase de entidad se encuentra dentro de una lista más grande (de ahí el nombre lista de listas). El ejemplo que sigue muestra cómo crear esta lista. El entorno del espacio de trabajo se estableció para no tener que repetir el mismo espacio de trabajo para cada clase de entidad.
arcpy.env.workspace = "D:/St_Johns/data.mdb/neighborhoods"
input_list = [["east", 1], ["west", 1], ["south", 1], ["north", 2]]
arcpy.Union_analysis(input_list, "D:/base/data.gdb/land_use")
Convenciones de parámetros
En general:
- Los nombres de parámetro para todos los datasets de entrada tienen el prefijo in_ y los datasets de salida tienen el prefijo out_.
- El dataset de entrada es, generalmente, el primer parámetro y el dataset de salida es, generalmente, el último parámetro requerido. Los demás parámetros requeridos se ubican entre el dataset de entrada y el dataset de salida.
- Los parámetros opcionales siempre se encuentran a continuación de los parámetros requeridos.
Obtener ayuda en la ventana de Python
Una vez introducido el nombre del comando, existen varias maneras de obtener ayuda específica sobre su uso y sus herramientas:
- Escriba el nombre de la herramienta en la ventana de comando seguido de un paréntesis de apertura: arcpy.Buffer_analysis(. Esto mostrará la información sobre el uso y la ayuda de la herramienta en la ventana de ayuda y sintaxis.
- Use la función de ayuda incorporada de Python e introduzca el nombre de la herramienta sobre la que necesita ayuda. La ayuda se mostrará en la sección principal de Python.
- Utilice el atributo de la función integrada de Python __doc__ a continuación de la herramienta para mostrar la cadena de la documentación. La ayuda se mostrará en la sección principal de Python.
>>> arcpy.Buffer_analysis(
>>> help(arcpy.Buffer_analysis)
>>> print arcpy.Buffer_analysis.__doc__