El lenguaje de programación que está alcanzando más auge en el entorno de ArcGIS, es Python, que está tomando una gran delantera a otros, ¿pero qué es .NET? y ¿cómo se utiliza en ArcGIS?

Antes que nada, vamos a apuntar que .NET no es un lenguaje como tal, sino que es una plataforma donde podemos desarrollar diferentes tipos de lenguaje y creado por Microsoft, así que, para ser completamente exhaustivos, hablaremos de VisualBasic.NET y su relación con ArcObjects. ArcGIS está prácticamente escrito con él, así que cualquier cosa que hagas con ArcGIS, la puedes hacer con ArcObjects, y a partir de él, puedes crear nuevas funciones, herramientas, etc.

visual-basic

Hay que tener en cuenta que para acceder a ArcObjects en ArcGIS teníamos dos vías: Con VBA (Visual Basic for Applications), que era un entorno de desarrollo integrado en ArcGIS como ahora se encuentra la consola de Python) o mediante la creación de componentes COM desde fuera de ArcGIS usando un lenguaje como VisualBasic.NET o C Sharp.

arcobject

Esto último nos da mayor flexibilidad, pero aumentaba la complejidad. Sin embargo, Microsoft ha evolucionado y .NET no soporta VBA. En estas circunstancias a ESRI no le ha quedado más remedio que buscar alternativas. ¿Qué es VBA?, es una biblioteca, que se puede integrar en otros programas (como ArcGIS, AutoCad, etc.) para manejar dentro de ellas código para crear nuevas funciones, etc.

vba-logo

Pero, ArcGIS sigue escrito con ArcObjects y está muy presente. Hay muchísimas aplicaciones hechas con ArcGIS y ArcObjects y todo ese código no se puede migrar de la noche a la mañana a Python. Así, la programación de ArcObjects vamos a realizarla con VisualBasic.NET y usaremos plataformas como Visual Studio para desarrollarla. Como hemos dicho, ESRI está apostando fuertemente por Python, pero por ejemplo ArcMap se ha creado a partir de ArcObjects, y si queremos realizar nuevas herramientas, etc. para nuestros proyectos SIG, ArcObjects es una buena solución.

En resumen y para no confundirnos, VisualBasic.NET (VB.NET) es un lenguaje de “Programación Orientada a Objetos”, se puede considerar una evolución de Visual Basic implementada sobre el framework .NET.

descarga

¿Pero en que entorno trabajaremos entonces? Visual Studio ha sido creado por supuesto por Microsoft, el cual es un Entorno de Desarrollo Integrado (Integrated Development Environment, IDE) Soporta múltiples lenguajes de programación tales como C++, C#, VisualBasic.NET , Python, Ruby, PHP, etc.

vs2012

Y después de toda esta aclaración, necesaria para toda aquella persona que empiece con el desarrollo de herramientas en ArcGIS, viene la pregunta: ¿merece la pena pelearse y aprender ArcObjects?

ESRI ha abandonado la idea de integrar VBA desde la versión 10, pero aún se puede trabajar desarrollando VB.NET ya que posee una IDE que lo soporta. Así que, si quieres realizarlo sobre el marco con el que se ha creado ArcGIS, es una buena opción. Y ESRI sigue apoyándolo, prueba es la evolución a la versión 10.4 (la más actual ahora) de su SDK (ArcObjects SDK for .NET), lo demás, es decisión tuya.

Y una buena solución es el desarrollo de los add-ins simplificando mucho nuestro trabajo, ESRI aporta varios add-ins para integrarlos en Visual Studio .NET. Poseen una estructura tipo .XML, son fáciles de compartir, son algunas de las ventajas que aportan.

addin

En TYC GIS te damos la oportunidad de aprender sobre este tema en su próximo “curso de ArcObjects con ArcGIS y Visual Studio”.

Formación de calidad impartida por profesionales

ArcObjects_online