Comparar cajas de herramientas Python y personalizadas

En ArcGIS 9.0, el marco de herramientas de secuencia de comandos se introdujo primero y se orienta a la creación de herramientas basadas en Python, pero es un proceso ineficiente para usuarios más experimentados. En el marco de herramientas de la secuencia de comandos:

Todas estas partes están segregadas y son más difíciles de manejar de forma colectiva.

En ArcGIS 10.1, hay dos maneras para crear sus propias herramientas de geoprocesamiento con Python: herramientas de secuencia de comandos en las cajas de herramientas personalizadas (Toolbox) y las herramientas de secuencia de comandos en las cajas de herramientas Python (Caja de herramientas Python).

En una caja de herramientas Python, los definiciones del parámetro, el código de validación y el código de origen se manejan en el mismo lugar, facilitando la creación y manteniendo las herramientas Python. Además, las cajas de herramientas Python admiten capacidades que las herramientas de secuencia de comandos no, como las tablas de valores, los tipos de datos compuestos y la comprobación de licencias personalizadas.

Para aquellas personas con experiencia en Python, las cajas de herramientas Python proporcionan la oportunidad de aprovechar sus habilidades Python y crear herramientas completamente y fácilmente fuera de Python. Si es nuevo en Python, estará mejor adaptado para crear herramientas en cajas de herramientas personalizadas, en donde el asistente le guiará a través de las partes necesarias de una herramienta de secuencia de comandos.

Si usa o está planeando utilizar un código de validación significativo en su herramienta de la secuencia de comandos, es casi seguro que encontrará la experiencia más directa en una caja de herramientas Python.

Cajas de herramientas personalizadas (Toolbox)

Cajas de herramientas Python (Caja de herramientas Python)

Organización

Las herramientas de secuencia de comandos en una caja de herramientas personalizada están organizadas en tres partes:

  1. Las definiciones de herramienta y parámetro que se definen a través del asistente.
  2. El código de validación opcional, el cual proporciona control adicional sobre el comportamiento del parámetro y reside en la caja de herramientas.
  3. El código de origen que se mantiene en un archivo separado para cada herramienta, usualmente como una secuencia de comandos Python (.py).

Una caja de herramientas Python es una secuencia de comandos Python con una extensión .pyt, la cual contiene todos los aspectos de una caja de herramientas y sus herramientas: parámetros, validación y ejecución. Esto se hace usando clases Python: una clase para la caja de herramientas y una clase para cada una de las herramientas.

Editar

El código de origen se puede editar por medio de cualquier editor.

Los parámetros se editan a través del asistente de la herramienta de la secuencia de comandos.

El código de validación (si se utiliza) se puede editar por medio del asistente en un editor.

Los archivos de la caja de herramientas Python (.pyt) se pueden editar en cualquier editor y todas las partes de la herramienta (definiciones del parámetro, código de validación y código de origen) se pueden editar en el mismo lugar.

Debido a que las cajas de herramientas Python solamente se pueden editar en un editor, estas no admiten copiar/pegar dentro de una caja de herramientas o entre cajas de herramientas.

Usar otras herramientas

Las cajas de herramientas personalizadas admiten varios tipos de herramientas, incluyendo herramientas de secuencia de comandos Python, herramientas modelo (fabricadas con ModelBuilder) y herramientas incorporadas (fabricadas con ArcObjects y un idioma compilado como .NET).

Las cajas de herramientas Python no admiten directamente otros tipos de herramientas; es decir, no puede agregar herramientas modeladas o incorporadas a su caja de herramientas Python. Sin embargo, puede llamar herramientas en otras cajas de herramientas desde dentro del código de la caja de herramientas Python.

Funcionalidad adicional

n/d

Las cajas de herramientas Python admiten un método isLicensed que le permite controlar si una herramienta se puede abrir basándose en su criterio.

Seguridad adicional

Las herramientas de secuencia de comandos en una caja de herramientas personalizada puede tener su código de origen incrustado y bloqueado con una contraseña.

n/d

Temas relacionados

5/9/2014