Programación SIG

sábado, enero 28, 2006

Cómo programar con ArcObjects y no morir en el intento - 1ª Parte

Bueno empiezo un pequeño tutorial por partes sobre cómo empezar a programar con ArcObjects. En esta primera parte simplemente enumero las opciones de programación con ArcObjects, en cuanto a lenguajes de programación y plataformas, junto con una pequeña explicación de cada una de ellas. En sucesivas entregas entraré en materia, con algunos ejemplos de código

La librería ArcObjects es un conjunto de componentes software construidos con tecnología 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 librería ArcObjects.

Hay muchas y diversas posibilidades, que dan mucha flexibilidad pero al mismo tiempo "asustan" al novato. Veamos cuáles son algunas de esas posibilidades, empezando por las más sencillas.

1. Utilizar VBA en las aplicaciones de escritorio de ArcGIS Desktop (ArcMap, ArcCatalog...). Es, quizás, la forma más rápida y sencilla de iniciarse, y existen muchos ejemplos. Disponible en ArcGIS Desktop
- Ventajas: fácil de probar, muy flexible, es la forma natural de empezar con ArcObjects
- Inconvenientes: no es POO (Programación Orientada a Objetos), es difícil reutilizar código. Necesitamos estar dentro de las aplicaciones de ArcGIS Desktop. Y además no está muy claro qué va a hacer Microsoft con esta tecnología

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: fácil de aprender, muy útil para crear procesos batch
- Inconvenientes: sólo se expone una parte de la librería en la versión actual. No es adecuado para crear grandes programas, falta de integración con interfaces gráficas.

3. Utilizar un lenguaje compatible COM. Hay dos vías actualmente, en primer lugar compilar a código 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 librería 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. Código con alta reutilización
- Inconvenientes: más difícil (VB < .NET < C++), sólo para plataformas Windows

4. Utilizar Java, a través 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 análogo a la interoperabilidad proporcionada por Microsoft entre componentes COM y ensamblados .NET. Disponible para ArcGIS Engine y ArcGIS Server.
- Ventajas: multiplataforma (Windows, Linux, Solaris), integración muy buena con infraestructuras empresariales de todo tipo y alta reutilización del código
- Inconvenientes: ligera pérdida de rendimiento (puede ser importante en algunas aplicaciones), más difícil de programar.

5. Usar C++ multiplataforma. Disponible en ArcGIS Engine
- Ventajas: posibilidad de crear aplicaciones multiplataforma con código nativo
- Inconvenientes: mucho más difícil de programar

En sucesivas entregas iremos viendo ejemplos de algunas de estas tecnologías, aplicadas en un ámbito concreto.

5 Comments:

  • uhh justo lo que buscaba...gracias..

    By Blogger Ana Paola, at 8:26 p. m.  

  • Chevere... justo estoy empezando en este alucinante mundo de progrmación GIS, si tubieras mas manuales sencillos para practicar te lo agradeceria muchisimo....Gracias

    By Blogger LILIANA, at 7:41 p. m.  

  • Hola a todos, soy especialista en sig y he realizado algunos programas pequeños en arcgis con arcobjects, pero me estoy enfrentando a un problema que no he podido resolver, necesito poder listar de alguna forma los textos que tengo creados como graficos en el dysplay de arcmap y no se como hacerlo, si alguien me puede ayudar lo agradeceria muchisimo

    By Blogger edgar, at 5:41 a. m.  

  • hola a todos, me gustaria saber si alguien de aqui, trabaja en chile con el programa GIS, yo soy egresada de arquitectura y me llamo mucho la atencion este nuevo sistema de informacion, me gustaria saber si en chile hay campo laboral y que funciones especificamente debes realizar en el lugar que te contraten.

    gracias de antemano

    By Blogger fernanda, at 3:54 a. m.  

  • hola a todos, me gustaria saber si alguien de aqui, trabaja en chile con el programa GIS, yo soy egresada de arquitectura y me llamo mucho la atencion este nuevo sistema de informacion, me gustaria saber si en chile hay campo laboral y que funciones especificamente debes realizar en el lugar que te contraten.

    gracias de antemano

    By Blogger fernanda, at 3:55 a. m.  

Publicar un comentario

<< Home