El marco de geoprocesamiento

El marco de geoprocesamiento es un conjunto de ventanas y cuadros de diálogo que se utilizan para administrar y ejecutar herramientas. En el presente documento se hace referencia a los conceptos e ideas más importantes que abarca este marco, dejando de lado la mecánica de su uso.

La idea principal detrás del geoprocesamiento es permitirle implementar sus ideas rápida y fácilmente en un software nuevo que se pueda ejecutar, administrar, modificar, documentar y compartir con la comunidad de usuarios de ArcGIS. El concepto de software, en este caso, se refiere a algo que da instrucciones a ArcGIS para hacer lo que el usuario desee. Un modelo de geoprocesamiento, por ejemplo, es un software nuevo creado por el usuario que contiene un lenguaje de programación visual fácil de utilizar denominado ModelBuilder.

El tema principal de esta sección es la noción de geoprocesamiento como procedimiento que el usuario sigue para crear un software útil nuevo. Al hacerlo, se espera que amplíe y profundice su conocimientos acerca de cómo y por qué utilizar el geoprocesamiento.

Para crear un software nuevo de cualquier tipo, se requieren dos elementos esenciales:

El lenguaje del geoprocesamiento es su conjunto de herramientas. El marco de geoprocesamiento es un pequeño conjunto de interfaces de usuario integradas que se utilizan para la organización y administración de herramientas existentes, y para la creación de nuevas herramientas. Los componentes básicos del marco se muestran en el tema Recorrido rápido por el geoprocesamiento, e incluyen los siguientes:

Modelos de geoprocesamiento y ModelBuilder

Las herramientas se ejecutan por medio de sus cuadros de diálogo. Puede tomarlo como la ejecución de una instrucción única en un lenguaje de programación. A pesar de que la ejecución de una sola herramienta sea un procedimiento definitivamente práctico, el sistema no será muy útil a menos que pueda conectar varias herramientas y utilizar las salidas de cada una con las demás, tal como lo hace un lenguaje de programación.

En el marco de geoprocesamiento, la ventana ModelBuilder es la que le permite implementar sus ideas rápida y fácilmente en un software, por medio de la unión de elementos del lenguaje de geoprocesamiento (las herramientas) en una secuencia. Es importante tener en cuenta que, ya que dan instrucciones al equipo para realizar algún tipo de acción, los modelos son software. El lenguaje de programación es visual (lo que ve en ModelBuilder), en lugar de basado en texto como un lenguaje de programación tradicional.

Lo más importante que se debe tener en cuenta aquí es que los modelos son herramientas. Se comportan del mismo modo que las demás herramientas del sistema. Puede ejecutarlas en la ventana del cuadro de diálogo o en la ventana de Python. Debido a que los modelos son herramientas, puede incorporar modelos dentro de modelos. De hecho, varias de las herramientas del sistema que se proporcionan con ArcGIS son modelos.

Los modelos pueden ser tan complejos como desee. En un modelo puede utilizar cualquier herramienta tanto del sistema como personalizada, incluidos los modelos que haya escrito (ya que los modelos son solo herramientas). También puede utilizar bucles y condiciones para controlar el funcionamiento lógico de un modelo.

Los modelos pueden ser extremadamente simples y a la vez productivos. Puede crear un modelo que contenga una sola herramienta, pero que incorpore algunos de sus parámetros. Por ejemplo, la herramienta Zona de influencia contiene seis parámetros, pero para el conjunto de tareas actuales sabe que tres de ellos son siempre iguales. En lugar de completar estos parámetros cada vez que ejecute esta herramienta, puede crear rápidamente un modelo y establecer estos tres parámetros, guardar el modelo como la herramienta MyBuffer y utilizar directamente el cuadro de diálogo de esta, en lugar del de la herramienta Zona de influencia. Es posible que sólo utilice la herramienta MyBuffer pocas veces antes de eliminarla, pero no significa una pérdida de tiempo, ya que la creación fue fácil y rápida, y fue de gran productividad.

Uso de secuencias de comandos

También puede utilizar un lenguaje de secuencia de comandos para crear un software nuevo y útil. Un programa que utiliza un lenguaje de secuencia de comandos es una secuencia de comandos. En el mundo de la programación de software, los lenguajes se pueden dividir en dos categorías básicas: lenguajes de sistema y lenguajes de secuencia de comandos. Los lenguajes de sistema, como C++ y .NET, se utilizan para crear aplicaciones desde cero por medio de primitivas de bajo nivel y recursos de bajo nivel del equipo. Los lenguajes de secuencia de comandos, como Python y Perl, se utilizan para unir aplicaciones por medio de las funciones integrales de más alto nivel del equipo, al mismo tiempo que ocultan las bases estructurales con las que trabaja el programador de lenguajes de sistema. Comparados con los lenguajes de sistema, los lenguajes de secuencia de comandos son fáciles de aprender y utilizar: solo se necesita comprender los aspectos básicos de la programación para ser productivo.

En el marco de geoprocesamiento, las secuencias de comandos son iguales a los modelos en que se pueden utilizar para crear nuevas herramientas. Los modelos se crean con un lenguaje de programación visual (ModelBuilder), y las secuencias de comandos se crean con un lenguaje basado en texto y editores de texto.

Al igual que los modelos, las secuencias de comandos son herramientas. Puede introducir una secuencia de comandos en una caja de herramientas personalizada mediante un asistente paso a paso, y se convertirá en otra herramienta más que puede utilizar en un modelo o en otra secuencia de comandos. Varias herramientas del sistema son secuencias de comandos. Técnicamente, puede escribir una secuencia de comandos sin introducirla en una caja de herramientas. En este caso, la secuencia no es una herramienta, sino una secuencia de comandos independiente en el disco.

Existen varias razones por las cuales es conveniente utilizar secuencias de comandos:

Un marco para crear y administrar software

El marco de geoprocesamiento se construyó para permitirle implementar sus ideas rápida y fácilmente en un software nuevo que el sistema pueda administrar y que se pueda compartir con los usuarios.

El geoprocesamiento es un lenguaje que está compuesto por operadores o herramientas que trabajan con los datos que están dentro de ArcGIS (tablas, clases de entidad, rásteres, TIN y demás) y realizan tareas necesarias para la manipulación y el análisis de información geográfica en una gran variedad de disciplinas.

Puede crear un software nuevo rápida y fácilmente en forma de modelos y secuencias de comandos. Estas herramientas nuevas realizan tareas que no forman parte del paquete de ArcGIS estándar. Por ejemplo, no existe menú, botón ni objeto de programación en ArcGIS que siga el modelo Proyectar y recortar que se muestra en el tema Qué es el geoprocesamiento.

El marco de geoprocesamiento es el que administra las herramientas, y no el usuario. Este es un punto sutil pero importante que no resulta evidente a primera vista.

Las herramientas se pueden compartir fácilmente. Una caja de herramientas con todas sus herramientas y conjuntos de herramientas se ubica en un archivo en disco con extensión .tbx o dentro de una geodatabase. Cualquier persona que tenga acceso al archivo o a la geodatabase puede ejecutar las herramientas.

El punto más importante es que las herramientas se convierten en miembros integrales del marco de geoprocesamiento, donde cuentan con documentación, interfaz de usuario, métodos de acceso y métodos de uso coherentes.

El geoprocesamiento y ArcObjects

ArcObjects es una biblioteca extensa de objetos de programación de bajo nivel que se presenta como parte del kit de desarrollo de software (SDK) de ArcGIS. Los desarrolladores utilizan ArcObjects para crear aplicaciones nuevas o extender la funcionalidad existente de las aplicaciones de ArcGIS (a decir verdad, la mayoría de las herramientas de sistema y todo el marco de geoprocesamiento se construyeron con ArcObjects). Al igual que el geoprocesamiento, el SDK de ArcObjects se puede utilizar para crear software nuevo.

El SDK de ArcObjects y el geoprocesamiento son complementarios, es decir que ninguno impide el uso del otro. Como regla general, ArcObjects se utiliza para extender ArcGIS con un comportamiento nuevo, mientras que el geoprocesamiento está diseñado para automatizar tareas. ArcObjects se utiliza para realizar acciones como agregar interfaces de usuario nuevas, agregar un comportamiento personalizado a las clases de entidad o crear un renderizador cartográfico. El geoprocesamiento se utiliza para crear software (modelos y secuencias de comandos) que automatice tareas dentro de los límites de un marco que funcione correctamente.

ArcObjects está pensado para utilizarse con un lenguaje de programación de sistema, en el que el programador necesita tener acceso a las primitivas de bajo nivel para implementar lógicas y algoritmos complejos. Es por esto que ArcObjects contiene miles de objetos y solicitudes diferentes, para permitir al programador el nivel justo de control que estas lógicas y algoritmos requieren. Ya que ArcObjects se utiliza en combinación con un lenguaje de programación de sistema, la aplicación requiere un amplio conocimiento de programación, mucho más que el geoprocesamiento y sus modelos y secuencias de comandos.

Por el contrario, el geoprocesamiento es una capacidad universal que todos los usuarios de SIG pueden utilizar e implementar para automatizar su trabajo, construir métodos y procedimientos repetibles y bien definidos, y diseñar importantes procesos geográficos.

5/9/2014