26 votos

¿Empezando con ArcObjects?

¿Cuál es la mejor ruta o lugar para empezar con ArcObjects si uno no es un desarrollador y no pretende convertirse en desarrollador ?

Llevo mucho tiempo usando gis profesionalmente, casi dos décadas, arcinfo/arcgis durante la mayor parte de ese tiempo; soy bastante bueno. Estoy aprendiendo a desarrollar software, e incluso tengo una pequeña aplicación de python modestamente exitosa utilizada en un proyecto público; ¡no soy bueno! No quiero convertirme en un desarrollador de software completo, pero sigo encontrando cosas que no puedo hacer sin programar ( ejemplo ). En el mundo de Arcgis, esto me coloca en el campo de Python, lo cual está bien para mí ya que me gusta Python, sin embargo, Python no tiene acceso directo a ArcObjects. (Python y ArcObjects es posible pero es una ruta no soportada. Esta pregunta se refiere a seguir un camino trillado).

Tengo que empezar, pero ¿dónde? La ayuda de Arcgis dice para empezar con el Red de desarrolladores de ESRI pero $1500/año definitivamente no está en mi presupuesto, y suena como usar un mazo para aplastar mosquitos. ¿Y qué lenguaje: .NET, Visual Basic o Visual C++?


ACTUALIZACIÓN: Gracias a todos por las maravillosas respuestas. A la luz de ellas me doy cuenta de que He reducido innecesariamente el alcance de mi pregunta al presuponer que "ArcObjects" es la dirección que debo seguir. Una formulación más abierta es más a lo largo de las líneas de:

Sigo encontrando problemas que sólo no puedo resolver con arcgis y python solo. ¿Qué más puedo aprender/usar para resolver problemas como X? No tengo interés o intención de convertirme en un desarrollador de software. Sólo necesito hacer un par de cosas que no están expuestas a los módulos de arcgis python.

0 votos

Esta es una pregunta reciclada de Stack Overflow, ( ref )que por alguna razón han decidido no emigrar aquí. Así que vuelvo a preguntar para obtener una respuesta más completa de las personas que están en mejor posición para ayudar.

0 votos

¿De qué software dispone? Tengo que suponer que ArcGIS. ¿Visual Studio 2008/2010 Pro/Express?

0 votos

Tengo ArcGIS 9 y 10. No he seleccionado ningún software de desarrollo.

14voto

CodeSlave Puntos 7133

Complementos de VB.Net seguro. Los recorridos de ESRI le ayudarán a avanzar.

Llevo años usando VB6 y VBA y personalmente encuentro VB bastante intuitivo. Por supuesto, VB .Net es un animal completamente diferente, pero el La estructura del complemento es relativamente sencilla de aprender e implementar. Acabo de asistir a un taller técnico de ArcPy en una conferencia de ESRI y tengo que decir que me quedaré con los complementos de VB.Net. Yo estaba llorando ríos cuando se hizo evidente que VBA será reemplazado por los complementos, pero después de superar la curva de aprendizaje debo decir que es la mejor mejora de ArcGIS 10. No hay nada que no pueda hacer con esta configuración. Tengo herramientas personalizadas por todas partes. Las cosas de las que la gente se queja en ArcGIS simplemente las personalizo a mi gusto. Escribir una herramienta y distribuirla en un entorno de oficina es una brisa...

Todo lo que necesitas es el Visual Studio Express gratuito y el SDK instalado.

Aquí está el recorrido: http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Building_add_ins_for_ArcGIS_Desktop/0001000000w2000000/

En cuanto a ArcObjects, hay tantos ejemplos y fragmentos de código que se pueden añadir directamente en Visual Studio que es posible que se pueda aprender lo básico a partir de los ejemplos.

En la versión 8 ESRI publicó libros de ArcObjects; 2 enormes volúmenes que eran una gran referencia e incluían muchos ejemplos para C y VB. Todo se puede encontrar ahora en línea, pero me gustaría que ESRI volviera a publicarlos.

3 votos

De acuerdo en todos los puntos, buuuuttt, I Diría que hay que ir a C# si no se tiene experiencia previa en VBA/VB6.

0 votos

Sí, soy partidario de VB. Si fuera un desarrollador y utilizara varias plataformas seguro que me decantaría por C#, pero me parece (y así es la opinión popular) que VB es más claro visualmente y más fácil de comprender y, por tanto, más adecuado para un principiante.

1 votos

+1 en ir con C#. Es claramente el lenguaje .NET favorito de los líderes de la industria. He utilizado tanto VB como C# como principiante y realmente creo que es más fácil de aprender y entender. También es más cercano a otros lenguajes basados en C como JavaScript y Java.

7voto

Arda Xi Puntos 1099

Aquí hay un descarado anuncio de un artículo que escribí el año pasado para ArcUser sobre Introducción a ArcObjects en .NET .

6voto

TCS Puntos 185

Si no quieres ser un desarrollador serio, entonces cuestionaría tu movimiento al entrar en el mundo de la programación. La cuestión aquí es que para escribir código debe entender lo que ocurre bajo el capó. De lo contrario, podrías hacer algo a tus datos, a tu aplicación e incluso a tu ordenador que no tenías intención de hacer, sólo por falta de comprensión (sí, podrías hacerlo en Python también, pero .NET está un paso más allá en hacer que los errores sean un poco más fáciles de comimt).

En cuanto a su pregunta sobre los alias de campo (no estoy seguro de haberla entendido bien), ¿preguntaba por cambiar los alias de los campos de una clase de características? Si es así, podría utilizar featureclass_to_featureclass con la asignación de campos. Sí, crea otra clase de característica, pero usted podría tener un área de salida para copiar los datos y cambiar los alias, mientras que lo está haciendo.

Como sugiere Steve, ArcPy también puede responder a sus necesidades en ArcGIS 10 con el nuevo acceso a las propiedades de las capas en el mapa.

4voto

auramo Puntos 161

No necesita una suscripción a EDN para desarrollar con ArcObjects, ni para acceder a la documentación del SDK.

http://help.arcgis.com/en/sdk/10.0/arcobjects_net/ao_home.html

0 votos

Pero sí necesitas EDN para acceder al propio SDK, ¿no es así? Y, seamos sinceros, sacarse el código de la manga no es precisamente una opción para alguien que no esté interesado en el meollo de ese desarrollo.

2 votos

No, está en el CD de instalación.

0 votos

¿Se entrega con todas las versiones del producto?

4voto

SkyWalker Puntos 11

He publicado una pregunta similar sobre los mejores recursos de ArcObjects:

Recursos de ArcObjects

Los fragmentos de código proporcionados por el Centro de recursos ArcGIS son muy útiles, y se ofrecen en C# y VB.NET.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X