Pregunta

Tenemos 2 nuevos programadores / analistas GIS en nuestro departamento (nuevos en programación y ArcObjects) y no creo que esté lo suficientemente calificado ni tenga tiempo para enseñarles. Así que estoy buscando libros / tutoriales de nivel de entrada para que usen como referencia.

Los únicos libros que puedo encontrar para desarrollar Extensions for ArcMap están escritos para VBA.

Además de los libros de cursos de ESRI que obtienes de la capacitación en Redlands, ¿alguien sabe de buenas fuentes para aprender a codificar contra ArcObjects en .Net?

Gracias

¿Fue útil?

Solución

Tratar de enseñar a los programadores tanto ArcObjects como el desarrollo general de software es una muy mala idea. Estoy luchando con el mismo problema en este momento. Corres el riesgo de que dos desarrolladores que programan ni ArcObjects ni C # muy bien.

Enseñarles a ser buenos desarrolladores primero. Haga esto haciendo que trabajen con un código que no sea de ArcObjects (si depende de ADG de ArcGIS de alto nivel o de aplicaciones completas que no sean de SIG, depende de usted). Asegúrese de que entiendan los conceptos básicos del contexto de la aplicación (web, escritorio, medio, etc.). Eso facilitará la transición a ArcObjects.

Una vez que hayan comprendido los fundamentos del desarrollo de software (en particular, herencia y OOP), preséntelos a ArcObjects. La referencia de VBA es adecuada, pero difícil de abstraer para C # y las herramientas modernas. Un desarrollador brillante puede hacerlo, pero su promedio probablemente aprenderá muchos malos hábitos.

Su mejor apuesta es morder la bala y enviarlos a los talleres para desarrolladores. A veces, ESRI ofrece clases en una oficina regional que pueden ser más locales para usted. Como alternativa, envíelos a la Cumbre de desarrolladores o Conferencia de usuarios en primavera y verano, respectivamente. Los talleres técnicos son un poco avanzados para principiantes totales. Dicho esto, se puede aprender mucho de los worskhops si los desarrolladores tienen una comprensión muy básica de ArcMap o ArcObjects.

También, necesitan aprender a usar ArcMap . Lo más importante que pueden hacer para aprender ArcObjects es aprender ArcMap. Comprender cómo funciona en el producto de escritorio puede revelar con frecuencia cómo usar la API. Un ejemplo fácil es proyectar datos. En ArcMap, debe usar una herramienta para proyectar datos explícitamente. Simplemente " configuración " La proyección no funciona. Esto se traduce directamente en la API, donde debe llamar a un " proyecto " Método o utilizar el proyecto GPTool.

Otros consejos

Estoy de acuerdo con los sentimientos generales que todos expresan aquí (comience con la programación, comience poco a poco, especialmente aprenda con el ejemplo / haciendo).

Es mucho más fácil hacer que los desarrolladores aprendan ArcObjects que que los analistas de SIG aprendan la programación. ¡Tu tarea (hacer ambas cosas) es bastante difícil!

Aún así, si tiene que comenzar en algún lugar, primero los entrenaría en C # o VB .NET (a través de un buen tutorial basado en la web o un curso pagado), y luego lo seguiré con la capacitación específica de ESRI .NET. Como dije en un comentario anterior, no me impresionaron los cursos de capacitación de ESRI. Tengo un historial de desarrollo de software y pude aprender la API de ArcObjects en un par de meses; en comparación con los dos meses de conocimiento práctico, el curso de capacitación fue realmente básico en el material de ArcObjects. Aún así, puede funcionar para los aprendices, y puede tener suerte con sus empleados.

También quiero agregar que definitivamente desea poner el énfasis en el entrenamiento de software primero, y considerar la API de ArcObjects como incidental. Si esta extensión de ArcMap es un producto que tiene la intención de vender a las personas y que tiene como clientes, darse cuenta de que el soporte, la mejora y el mantenimiento de un producto plagado de errores es una operación costosa. Por lo tanto, cualquier dólar gastado en capacitación en software se pagará a sí mismo a largo plazo.

Incluso le diría que considere contratar a un desarrollador de software por contrato para que sirva de guía y mentor, por ejemplo, seis meses.

Por lo que recuerdo, parte del código en la Red de Desarrolladores de ESRI ahora está en C #, al menos esa fue mi fuente principal de código C # para GIS, pero no libros, lo siento.

Quizás este sería un buen manual: http: // www .pragprog.com / titles / sdgis / gis-for-web-developers

Si sus empleados son realmente nuevos en la programación, yo empezaría haciendo que aprendan los fundamentos de C # (o algún otro lenguaje .Net, pero C # es probablemente el camino a seguir para los principiantes) y las buenas prácticas de programación. Me imagino que hay hilos de stackoverflow existentes que tendrían sugerencias para esto. Creo que una comprensión sólida de la programación orientada a objetos y el conocimiento de la sintaxis del lenguaje en el que se incluirán los ejemplos facilitará el aprendizaje de ArcObjects.

No estoy realmente al tanto de libros que no sean ESRI en ArcObjects. Sin embargo, creo que sus recursos son adecuados para que los principiantes comiencen. Además de los libros de cursos de ESRI, sugeriría comenzar con los recursos en línea en http: // resources.esri.com/arcgisdesktop/dotnet/index.cfm

Otras sugerencias son aprender a leer los diagramas del modelo de objetos y usar la ayuda para explorar métodos y propiedades de ArcObjects. También anime a los empleados a aprovechar los foros de usuarios de ESRI. Hay un montón de personas conocedoras que están dispuestas a ayudar con sus preguntas allí.

Practica con el ejemplo.

Me divertí un poco cuando comencé con herramientas simples pero interesantes, como una que tomó una captura de pantalla del mapa actual y lo publicó en un sitio de MediaWiki (con solo un clic). Gran parte de la API parece Deep Magic y más de una vez me he topado con características completamente indocumentadas al revisar el registro de Windows y hacer conjeturas informadas (por ejemplo, cómo crear un elemento de menú personalizado en el menú contextual "Vista de datos").

Siempre he aprendido MUCHO mejor por tener tareas simples y alcanzables que por tener que leer libros aburridos y secos.

Hay mucho poder, pero ciertamente he tardado en conocer y entender mucho de eso.

Sin hacerlo interesante, creo que los desarrolladores se suicidarán con una API tan grande.

Tampoco sabe sobre libros que no son de ESRI enfocados en ArcObjects. Para el software de ArcGIS Server y para mí, solo puedo recomendar ArcGIS Server Administrator and Developer Guide (es decir, AFAIK incluido en el cuadro de instalación de AGS): hay muchos ejemplos de código, tanto para C # como para VB. Incluso si no está programando con AGS, los ejemplos pueden ser útiles para educar cómo funciona el código de ArcObjects.

Estoy completamente de acuerdo con James.

Como alguien que estuvo en este barco hace 4 años, creo firmemente que deberías comenzar con la programación .NET, luego pasar a la plataforma ESRI y no quedarte atascado por los problemas de ESRI cuando intentas aprender conceptos de POO.

También me gustaría señalar que los centros de recursos para desarrolladores de ESRI tienen una gran cantidad de información para principiantes [ http://resources.esri.com/gateway/index.cfm]

Si comienza con .NET y el desarrollo del escritorio, puede ver la página de inicio en [ http://resources.esri.com/help/9.3/ArcGISDesktop/dotnet/concepts_start.htm]

buena suerte.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top