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 poco eficiente para los usuarios más experimentados. En el marco de herramientas de secuencia de comandos, puede hacer lo siguiente:
- Definir parámetros a través del asistente.
- Crear un código de validación que resida en la caja de herramientas.
- Crear y mantener la secuencia de comandos por separado.
Todas estas partes están segregadas y son más difíciles de manejar de forma colectiva.
Desde ArcGIS 10.1, hay dos formas de crear herramientas de geoprocesamiento propias con Python: herramientas de secuencia de comando en cajas de herramientas personalizadas y herramientas de secuencia de comandos en cajas de herramientas de 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 con Python y crear herramientas por completo y de forma sencilla con 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 | Cajas de herramientas Python | |
---|---|---|
Organización | Las herramientas de secuencia de comandos en una caja de herramientas personalizada están organizadas en tres partes:
| Una caja de herramientas de Python es una secuencia de comandos de Python con una extensión .pyt que contiene todos los aspectos de una caja de herramientas y sus herramientas: parámetros, validación y ejecución. Esto se lleva a cabo utilizando clases Python: una clase para la caja de herramientas y una clase para cada una de las herramientas. |
Edición | 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 de Python (.pyt) se pueden editar en cualquier editor y todas las partes de la herramienta (definiciones de parámetros, código de validación y código fuente) se pueden editar en el mismo lugar. Debido a que las cajas de herramientas de Python solo se pueden editar en un editor, no admiten acciones de 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 de Python admiten un método isLicensed que permite controlar si una herramienta se puede abrir o no según los criterios del usuario. |
Seguridad adicional | Las herramientas de secuencia de comandos de una caja de herramientas personalizada pueden tener su código fuente incrustado en la caja de herramientas y protegido con una contraseña. | Una caja de herramientas de Python es un archivo .pyt que se puede cifrar y proteger con una contraseña. |