¿Aprender a usar .NET para ArcGIS (principalmente de escritorio)

12

Tengo habilidades básicas de programación (programo scripts simples de vba python y lisp y había realizado un curso de Java hace mucho tiempo), pero me parece (a juzgar por las publicaciones de ESRI) que no hay escapatoria a la necesidad de aprender .NET para relevancia futura en el mercado laboral de SIG (incluso como analista).

He pasado por un curso básico de C # y puedo programar (lamentablemente) programas bastante pobres, pero no tengo idea de cómo vincular el conocimiento de C # a la programación real de arcgis para progresar.

1) Sé que las diferencias no son grandes, pero ¿ArcGIS usa .NET o C #?

2) Sé que la mejor manera de mejorar mi experiencia en .NET es programar cada vez más, pero ¿hay algún buen libro o curso de programación de .NET del que pueda aprender técnicas?

3) En su opinión, ¿cuál es la mejor manera de aprender a programar en .NET for ArcGIS? ¿Hay libros o sitios web útiles?

Agradezco sus comentarios con respecto a ArcGIS 10 (y los guardaré para más adelante), pero si pudiera darme algunos consejos para ArcGIS 9.3.1, sería grandioso (me encuentro en una posición muy difícil que mientras Esri y todo el mundo está centrado en ArcGIS 10.0 (incluidos los representantes locales de Esri), casi nadie en el país actualizó desde 9.3.1 o tiene planes para hacerlo, y personalmente tengo problemas para buscar respuestas apropiadas 9.3.1).

usuario749
fuente

Respuestas:

7

Aquí hay algunos recursos para comenzar.

http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Building_add_ins_for_ArcGIS_Desktop/0001000000w2000000/

http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Walkthrough_Building_custom_UI_elements_using_add_ins/0001000001ms000000/

http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Walkthrough_Building_editor_extensions_using_add_ins/000100000391000000/

http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Visual_Studio_integration/000100000m7n000000/

Zachary
fuente
4

Si desea escribir cosas que eviten el desprecio y la burla de los programadores, cosas de las que puede sentirse orgulloso en una cartera, querrá obtener una comprensión realmente firme del diseño y desarrollo orientado a objetos (si aún no lo hace) . Dominar lenguajes y marcos específicos puede venir más tarde.

Por supuesto, use .NET y ArcObjects como lenguaje / API de inicio cuando trabaje a través de ejercicios de programación en algunos buenos libros de desarrollo de software. Aquí hay algunos para comenzar:

Code Complete es bastante grande, pero el resto de ellos pueden ser lecturas rápidas. De hecho, recomendaría los primeros dos libros para personas con SIG que nunca escribirán una línea de código. Hay algunas cosas geniales sobre control de fuentes, gestión de proyectos, comunicación y principios de buen diseño.

bwreilly
fuente
No podría estar mas de acuerdo. Tome un enfoque de base y pagará dividendos.
Kelso
4

Solo quería agregar un poco de mi experiencia personal. Aprendí principalmente como un subproducto de las necesidades del empleador. Primero con los scripts de ArcGIS Desktop, luego las extensiones, luego la programación de ArcGIS Server (SOE, Web ADF y API web). El mejor recurso, en mi opinión, fue realmente la API y la documentación de ayuda. Al entrar por primera vez en un área desconocida, leía un poco de la ayuda conceptual, luego me sumergía en la codificación y hacía referencia al documento API según fuera necesario. Entonces, si me atascara, usaría los foros de Esri. Los ejemplos de código existentes ocasionalmente serían útiles, pero por lo general no pude encontrar mucho que fuera aplicable a lo que estaba trabajando; ese puede no ser el caso ahora. Los videos de Esri y este gran sitio aún no estaban disponibles, por lo que sin duda son recursos adicionales.

Agregaré que estudié geografía, SIG y algunas competiciones en una universidad, y creo que es difícil obtener una buena comprensión del desarrollo de SIG desde el "trabajo de clase" o desde el enfoque de las cosas de una manera muy general. Si está con un empleador que trabaja con GIS, le sugiero que hable con la gente de GIS para identificar una necesidad que le sirva de prueba a un pequeño desarrollador, incluso si tiene que trabajar en él en su propio tiempo. Salvo eso, trataría de encontrar una pieza específica de funcionalidad que le gustaría tener o que cree que sería interesante reunir, luego trabajaría en descubrir lo que necesita saber para lograrlo.

zwaap
fuente
Tengo una experiencia similar ¡Funciono bien para mi!
George Silva el
3

Código existente ( además de las otras respuestas ... no en lugar de ).

Hay mucho en línea en lugares como Google Projects , Codeplex y Github .

Es interesante aprender del código para proyectos que son bastante activos / en uso y tienen una comunidad de usuarios de tamaño decente. (No es que no puedas aprender nada de los repositorios de código obsoleto)

Jay Cummins
fuente
2

1) ArcGIS o ArcObjects es un modelo COM, con un contenedor .Net, Java y C ++ en la parte superior. Por lo tanto, se puede usar cualquier lenguaje .Net o Java o C ++. Consulte la Ayuda de ArcObjects .Net , Java , C ++

2) Sugeriría un libro de referencia con mucho contenido, como Begining C # o VB.Net de Wrox.

3) Comenzaría mirando las muestras en las discusiones. Especialmente el complemento .

MathiasWestin
fuente
2

Sugeriría no confiar en las muestras de ESRI para aprender habilidades de programación en general o .NET en particular. Eso no es un golpe en las muestras o las personas que las prepararon; Las muestras están destinadas a mostrar cómo una cosa en particular podría o debería funcionar. Por brevedad, muchas cosas quedan fuera de las muestras. Además, la mayoría de las muestras de ESRI que he visto no están orientadas a objetos sino a código de espagueti.

Suena tonto, pero la forma en que hice la transición de Visual Basic 6 a VB.NET y C # fue estudiar los libros de certificación. En ese momento, había mucho énfasis en lo que era diferente entre COM y .NET ya que era nuevo. Una buena base en su lenguaje de desarrollo de elección lo ayudará a navegar a través del campo minado de muestras y documentación de la compañía de software.

También conozca COM Interop; ESRI tiene buena información, pero es específica de ESRI. En ArcGIS, COM Interop puede no ser tu amigo, pero sufrirás una gran cantidad de depuración sin él.

Tim Rourke
fuente
Estoy de acuerdo, la programación en general no es algo que se beneficie de aprender en un entorno más abstracto que las aplicaciones SIG; además, los programadores de SIG más exitosos que conozco no provienen de un contexto específico de SIG o Geografía
WolfOdrade el
1

Mirando los recursos en línea para Esri, no pude evitar notar cómo 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", en el que 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.

Disfrutar,

Programación .NET con ArcObjects (IGeometry) - 01 - Comenzando

Programación .NET con ArcObjects (IGeometry) - 02 - Trabajando con capas

Programación .NET con ArcObjects (IGeometry) - 03 - Filtrado de capas

... ...

Ver la lista de reproducción completa, (14 episodios hasta ahora)

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

hnasr
fuente
1

Comenzar ArcGIS for Desktop Development usando .NET , un libro de Pouria Amirian, me ayudó a entrar en el desarrollo de aplicaciones ArcGIS / ArcMap. Creo que este es uno de los mejores libros de referencia para que los principiantes comiencen con conceptos básicos de .NET y los vinculen a ArcObjects. Viene con ejemplos de códigos C # y conjuntos de datos.

Maldad interior
fuente
¿Este libro incluye ArcGIS y software de estudio visual con él?
Salman
No, no proporciona ningún software.
EvilInside
0

Web ADF es .NET SDK de ESRI. Será obsoleto después de su próximo lanzamiento.

Sin embargo, si está utilizando 9.3.1, Web ADF será su conjunto de herramientas para .NET. Hay muchos recursos en línea, ESRI y otros.

En cuanto a mejorar la programación en general, ¡nunca dejes de leer! Leer blogs de programación y sitio web. Utilice el desbordamiento de pila . Nunca tengas miedo de hacer preguntas. Lea Code Complete y otros libros de gran prestigio sobre programación y desarrollo de software. ¡Lee todo lo que puedas tener en tus manos! ¡Buena suerte!

jscharf
fuente
0

Migrar de VBA a .NET es bastante complicado. Sé que Python está de moda en v10, pero con la esperanza de que ESRI haya creado algo para un camino para mudarse a .NET con Add-In s. Idealmente, un equivalente al gran libro sobre 'Conociendo los Arcobjects ", que trata específicamente sobre VBA.

Lea este pdf (2008) sobre la migración de VBA a NET. También recomendaría leer este enlace en el v10 webhelp.

Simón
fuente