¿Cómo comenzar con ArcObjects?

26

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

He estado usando gis profesionalmente durante mucho tiempo, casi dos décadas, arcinfo / arcgis para la mayor parte de eso; Soy bastante bueno. Estoy aprendiendo el desarrollo de software, e incluso tengo una pequeña aplicación Python modestamente exitosa utilizada en un proyecto público; ¡No estoy bien! No quiero convertirme en un desarrollador de software completo, pero sigo encontrándome con cosas que simplemente no puedo hacer sin programar ( ejemplo ). En el mundo de los arcos, esto me pone bastante 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 son posibles , pero es una ruta no admitida . Esta pregunta se trata de seguir un camino trillado).

Necesito comenzar, pero ¿dónde? La ayuda de Arcgis dice que comience con la Red de desarrolladores de ESRI, pero $ 1500 / año definitivamente no está en mi presupuesto, y suena como usar un martillo 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 ellos, me doy cuenta de que reduje innecesariamente el alcance de mi pregunta, suponiendo que "ArcObjects" es la dirección en la que debo ir. Una formulación más abierta es más similar a:

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

wilkie mate
fuente
Esta es una pregunta reciclada de Stack Overflow, ( ref ) que por cualquier razón han decidido no migrar aquí. Por lo tanto, pido nuevamente que obtenga una respuesta más completa de las personas que están en una mejor posición para ayudar.
matt wilkie
¿Qué software tienes a tu disposición? ArcGIS tengo que asumir. Visual Studio 2008/2010 Pro / Express?
Chad Cooper
Tengo ArcGIS 9 y 10. No he seleccionado ningún software de desarrollo.
Matt Wilkie

Respuestas:

14

Complementos VB.Net seguro. Los recorridos de ESRI lo llevarán por el camino.

He estado usando VB6 y VBA durante años y personalmente encuentro que VB es bastante intuitivo. Por supuesto, VB .Net es un animal completamente diferente, pero la estructura del complemento es relativamente simple de aprender y desplegar. Acabo de tomar un taller técnico en ArcPy en una conferencia de ESRI y tengo que decir que me quedaré con los complementos de VB.Net. Estaba llorando cuando se hizo evidente que VBA será reemplazado por complementos, pero después de romper la curva de aprendizaje, debo decir que es la mejor mejora para ArcGIS 10. No hay nada que no pueda hacer con esta configuración. Tengo herramientas personalizadas por todas partes. Las cosas de las que se queja la gente en ArcGIS simplemente las personalizo a mi gusto. Escribir una herramienta y distribuirla en un entorno de oficina es muy fácil ...

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

Aquí está el tutorial: 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 puede agregar directamente a Visual Studio que podría aprender los conceptos básicos de los ejemplos.

En la versión 8, ESRI publicó libros de ArcObjects; 2 grandes volúmenes que fueron una gran referencia e incluyeron muchos ejemplos para C y VB. Ahora todo se puede encontrar en línea, pero deseo que ESRI vuelva a publicarlos.

Jakub Sisak GeoGraphics
fuente
3
De acuerdo sobre todos los puntos, buuuuttt, yo diría que ir C # si usted no tiene experiencia en VBA / VB6 anterior.
Chad Cooper
Sí, soy parcial a VB. Si fuera un desarrollador y utilizara varias plataformas, seguro que iría con C # pero encuentro (y así es la opinión popular) VB más claro visualmente y más fácil de comprender y, como resultado, más adecuado para un principiante.
Jakub Sisak GeoGraphics
1
+1 en curso con C #. Es claramente el lenguaje .NET favorito de los líderes de la industria. He usado VB y C # como principiante y realmente creo que es más fácil de aprender y comprender. También está más cerca de otros lenguajes basados ​​en C como JavaScript y Java.
wilbev
7

Aquí hay un complemento descarado para un artículo que escribí el año pasado para ArcUser sobre cómo comenzar a usar ArcObjects en .NET .

Chad Cooper
fuente
Solo léelo y es un gran artículo ... ¡continúa con la desvergüenza por el bien de novatos como yo! ¿Tiene algo sobre el uso de la tabla de contenido en .net ... que creo que significa comenzar a usar COM? Gracias.
Justin
6

Si no quiere ser un desarrollador serio, entonces cuestionaría su decisión de ingresar al mundo de la programación. El problema aquí es que para escribir código debes entender lo que está sucediendo debajo del capó. De lo contrario, podría hacer algo a sus datos, aplicaciones e incluso a su computadora que no tenía intención de hacer, solo por falta de comprensión (sí, también podría hacerlo en Python, pero .NET es un paso más para cometer errores un poco más fáciles de comimt).

En términos de su pregunta sobre los alias de campo (no estoy seguro de haberlo entendido correctamente), ¿solicitó cambiar los alias de los campos en una clase de entidad? Si es así, podría usar featureclass_to_featureclass con mapeo de campo. Sí, crea otra clase de entidad, pero podría tener un área de salida para copiar datos y cambiar alias mientras lo hace.

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

Rob Clark
fuente
re: alias de campo: debe agregar eso como respuesta a la Q. No sabía que eso fuera posible.
Matt Wilkie
5

Mirando los recursos en línea para Esri, no pude evitar notar que ArcObjects no tiene su parte de recursos ricos y actualizados como otras tecnologías de ArcGIS.

Esa es la razón por la que comencé el canal de Youtube de IGeometry para hablar sobre ArcObjects, la serie, que llamé Programación .NET con ArcObjects, ha llegado a su episodio 14 hasta ahora y mucha gente de SIG se está beneficiando realmente.

La serie se basa en un proyecto ficticio que creé llamado "Bestaurants", donde debe crear una aplicación sobre ArcMap para buscar, administrar, agregar y eliminar restaurantes. ¡Con cada episodio presentamos una nueva interfaz y aprendemos sobre los objetos de grano fino en ArcObjects de una manera divertida!

Publico videos semanalmente, siempre que la oportunidad lo permite, ya que esto es algo que hago en mi propio tiempo.

Siéntase libre de echarle un vistazo ahora y compartirlo con cualquier geek GIS que pueda conocer. Las sugerencias siempre son bienvenidas para mejorar la serie.

Quién sabe, tal vez una vez que terminemos esto, podría comenzar otra serie.

http://www.youtube.com/watch?v=XrZs1rwmOwg&list=PLQnljOFTspQXqYsWJG8o-eJpGlvzww9lE&index=1

hnasr
fuente
También quiero aprender ArcObject. Pero no estoy del todo familiarizado con eso. ¿Necesito alguna licencia adicional para comenzar con ArcObject? ¿o necesito tener el componente ArcObject con ArcGIS 10.4 como un extra lisense?
Shiuli Pervin
2
Sí, necesitará la licencia de ArcGIS Desktop, sin embargo, puede obtener la última versión de ArcGIS Desktop del sitio web de esri con una licencia por 60 días. Mucho para empezar.
hnasr
4

No necesita una suscripción 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

blah238
fuente
Pero usted necesita EDN para acceder al SDK, ¿no es así? Y, seamos honestos, sacar el código de tu trasero no es exactamente una opción para alguien que no está interesado en la esencia de tal desarrollo.
Nathanus
2
No, está en el CD de instalación.
blah238
¿Se envía con cada versión del producto?
Nathanus
Solo los lanzamientos principales, creo. Los ejemplos también están en la ayuda en línea, aunque el .NET no parece tener una lista de ellos, el de Java sí: help.arcgis.com/en/sdk/10.0/java_ao_adf/conceptualHelp/engine/… Sin embargo, el archivo de ayuda instalado con el SDK es mucho más útil.
blah238
44
Si tiene una copia de ArcGIS Desktop, entonces no necesita una suscripción EDN para desarrollar complementos. Una suscripción EDN es simplemente una forma de dar a los desarrolladores una copia de casi todo en la pila de ArcGIS sin quemar licencias de producción mucho más costosas. EDN también es bueno para el desarrollo si no posee licencias de producción. No necesita EDN para codificar y desarrollar con la API de ArcObjects.
JimBarry el
2

La Universidad Estatal de Pensilvania lanzó recientemente para acceso gratuito su curso de Desarrollo de Aplicaciones SIG .
Enseña los conceptos básicos de ArcObjects en VB.NET

Marcin
fuente
0

No es una respuesta real, ya que ya has dicho que no quieres ser desarrollador.
He publicado aquí por la ventaja de formato sobre los comentarios.
Este blog acaba de llegar y es bastante extenso para dar instrucciones a la comunidad de desarrollo sobre el servidor arcgis.
Describe la intención de alejarse del ADF y alienta a adoptar servicios web.
Espero que ayude de alguna manera tu decisión.

Blogs de ESRI - ArcGISServer

Brad Nesom
fuente