Cómo programar con ArcObjects y no morir en el intento - 3ª Parte
A partir de la versión 9 de ArcGIS Desktop, se incluye un nuevo entorno de geoprocesamiento, que incluye un objeto de alto nivel, llamado Geoprocessor, que permite automatización ActiveX. ¿Qué significa esto?. Pues que podemos utilizar TODA la funcionalidad proporcionada por ArcToolBox desde un lenguaje de script compatible con ActiveX. El más completo y potente es Python (http://www.python.org), que además es open source y multiplataforma. Python es un lenguaje interpretado orientado a objetos, lo cual nos dará mucha flexibilidad a la hora de programar macros complejas o incluso programas completos, orientados a la resolución de tareas repetitivas y procesos SIG.
Además, al no ser necesario abrir las aplicaciones de ArcGIS Desktop, el rendimiento de nuestras macros es muy superior.
Veamos un ejemplo.
Este ejemplo importa archivos .e00 de ArcInfo workstation a formato cobertura. Para ello busca todos los ficheros .e00 en un directorio (primer parámetro) y guarda el resultado en otro directorio (segundo parámetro).
Como se puede apreciar, es un lenguaje de tipado dinámico, por lo que no es necesario decirle a cada variable de qué tipo es, simplemente las declaramos. La declaración del objeto Geoprocessor siempre se hace de la misma forma (en la línea GP = win32com.client.Dispatch("esriGeoprocessing.GPDispatch.1"). En python además es muy importante el sangrado de código, para ello conviene utilizar alguno de los editores que existen para este lenguaje. IDLE, incluido con Python, puede ser suficiente para empezar, aunque conviene utilizar PythonWin si estamos en plataforma Windows, dadas sus características más completas.
Este tipo de archivos pueden ejecutarse directamente desde una consola, sin necesidad de abrir ArcGIS Desktop.
Además, al no ser necesario abrir las aplicaciones de ArcGIS Desktop, el rendimiento de nuestras macros es muy superior.
Veamos un ejemplo.
Este ejemplo importa archivos .e00 de ArcInfo workstation a formato cobertura. Para ello busca todos los ficheros .e00 en un directorio (primer parámetro) y guarda el resultado en otro directorio (segundo parámetro).
Como se puede apreciar, es un lenguaje de tipado dinámico, por lo que no es necesario decirle a cada variable de qué tipo es, simplemente las declaramos. La declaración del objeto Geoprocessor siempre se hace de la misma forma (en la línea GP = win32com.client.Dispatch("esriGeoprocessing.GPDispatch.1"). En python además es muy importante el sangrado de código, para ello conviene utilizar alguno de los editores que existen para este lenguaje. IDLE, incluido con Python, puede ser suficiente para empezar, aunque conviene utilizar PythonWin si estamos en plataforma Windows, dadas sus características más completas.
Este tipo de archivos pueden ejecutarse directamente desde una consola, sin necesidad de abrir ArcGIS Desktop.