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:
- Usted define los parámetros a través del asistente
- Crea un código de validación que reside en la caja de herramientas
- Además, usted crea y mantiene la secuencia de comandos de forma separada
Todas estas partes están segregadas y son más difíciles de manejar de forma colectiva.
En 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 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 Python es una secuencia de comandos 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. |
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 el 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 puede o no abrirse según sus criterios. |
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 |