Está en la página 1de 2

Cmo programar con ArcObjects y no morir en el intento - 1 Parte

Bueno empiezo un pequeo tutorial por partes sobre cmo empezar a


programar con ArcObjects. En esta primera parte simplemente enumero
las opciones de programacin con ArcObjects, en cuanto a lenguajes de
programacin y plataformas, junto con una pequea explicacin de cada
una de ellas. En sucesivas entregas entrar en materia, con algunos
ejemplos de cdigo

La librera ArcObjects es un conjunto de componentes software
construidos con tecnologa COM de Microsoft, con la que se han
construido productos como ArcGIS Desktop, ArcGIS Engine y ArcGIS
Server. Por lo tanto, para programar con alguno de estos paquetes de
software, necesitaremos programar utilizando la librera ArcObjects.

Hay muchas y diversas posibilidades, que dan mucha flexibilidad pero al
mismo tiempo "asustan" al novato. Veamos cules son algunas de esas
posibilidades, empezando por las ms sencillas.

1. Utilizar VBA en las aplicaciones de escritorio de ArcGIS Desktop
(ArcMap, ArcCatalog...). Es, quizs, la forma ms rpida y sencilla de
iniciarse, y existen muchos ejemplos. Disponible en ArcGIS Desktop
- Ventajas: fcil de probar, muy flexible, es la forma natural de empezar
con ArcObjects
- Inconvenientes: no es POO (Programacin Orientada a Objetos), es
difcil reutilizar cdigo. Necesitamos estar dentro de las aplicaciones de
ArcGIS Desktop. Y adems no est muy claro qu va a hacer Microsoft
con esta tecnologa

2. Utilizar python como lenguaje de script. Con python accedemos al
objeto de alto nivel Geoprocessor, lo que nos permite utilizar en scripts
o macros cualquiera de las herremientas que tenemos en ArcToolBox o
en Model Builder. Disponible en ArcGIS Desktop
- Ventajas: fcil de aprender, muy til para crear procesos batch
- Inconvenientes: slo se expone una parte de la librera en la versin
actual. No es adecuado para crear grandes programas, falta de
integracin con interfaces grficas.

3. Utilizar un lenguaje compatible COM. Hay dos vas actualmente, en
primer lugar compilar a cdigo nativo con un lenguaje como puede ser
C++ o Visual Basic, o utilizar la plataforma .NET de Microsoft (cualquier
lenguaje) para crear ensamblados interoperables con la librera COM
ArcObjects. Disponible en ArcGIS Desktop, ArcGIS Engine y ArcGIS
Server para plataformas Windows
- Ventajas: muy amplias posibilidades de desarrollo, incluyendo la
capacidad de construir un SIG completo, con necesidades a medida, en
cualquier entorno. Cdigo con alta reutilizacin
- Inconvenientes: ms difcil (VB < .NET < C++), slo para plataformas
Windows

4. Utilizar Java, a travs de la interoperabilidad con objetos COM que
proporciona JIntegra (http://j-integra.intrinsyc.com/). Aunque no
parece "natural" unir Java y COM, en realidad el concepto es anlogo a
la interoperabilidad proporcionada por Microsoft entre componentes
COM y ensamblados .NET. Disponible para ArcGIS Engine y ArcGIS
Server.
- Ventajas: multiplataforma (Windows, Linux, Solaris), integracin muy
buena con infraestructuras empresariales de todo tipo y alta
reutilizacin del cdigo
- Inconvenientes: ligera prdida de rendimiento (puede ser importante
en algunas aplicaciones), ms difcil de programar.

5. Usar C++ multiplataforma. Disponible en ArcGIS Engine
- Ventajas: posibilidad de crear aplicaciones multiplataforma con cdigo
nativo
- Inconvenientes: mucho ms difcil de programar

En sucesivas entregas iremos viendo ejemplos de algunas de estas
tecnologas, aplicadas en un mbito concreto.