Vous apprenez à utiliser .NET for ArcGIS (principalement Desktop)?

12

J'ai des compétences de base en programmation (je programme de simples scripts vba python et lisp et j'ai suivi un cours java il y a longtemps), mais il me semble (à en juger par les publications de l'ESRI) qu'il n'y a pas moyen d'échapper au besoin d'apprendre .NET pour pertinence future sur le marché du travail SIG (même en tant qu'analyste).

J'ai suivi un cours de base en c # et je peux (malheureusement) programmer des programmes assez médiocres, mais je n'ai aucune idée de la manière de lier les connaissances c # à la programmation réelle d'arcgis afin de progresser.

1) Je sais que les différences ne sont pas importantes, mais ArcGIS utilise-t-il .NET ou C #?

2) Je sais que la meilleure façon d'approfondir mon expérience en .NET est de programmer de plus en plus, mais y a-t-il de bons livres ou cours de programmation .NET dont je peux apprendre les techniques?

3) À votre avis, quelle est la meilleure façon d'apprendre à programmer dans .NET pour ArcGIS? Existe-t-il des livres ou des sites Web utiles?

J'apprécie vos commentaires concernant ArcGIS 10 (et les enregistrerai pour plus tard), mais si vous pouviez me donner quelques informations sur ArcGIS 9.3.1, ce serait formidable (je me trouve dans une position très difficile que si Esri et le monde entier se concentre sur ArcGIS 10.0 (y compris les représentants locaux d'Esri), presque personne dans le pays n'est passé à la version 9.3.1 ou n'a prévu de le faire, et j'ai personnellement des problèmes à chercher des réponses appropriées 9.3.1).

user749
la source

Réponses:

7

Voici quelques ressources pour vous aider à démarrer.

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
la source
4

Si vous voulez écrire des trucs qui évitent le mépris et la dérision des programmeurs, des trucs dont vous pouvez être fier dans un portfolio, vous voudrez avoir une compréhension très ferme de la conception et du développement orientés objet (si vous ne l'avez pas déjà fait) . La maîtrise de langages et de frameworks spécifiques peut venir plus tard.

Par tous les moyens, utilisez .NET et ArcObjects comme langage / API de référence lorsque vous travaillez à travers des exercices de programmation dans de bons livres de développement logiciel. En voici quelques-uns pour commencer:

  • Le programmeur pragmatique : les meilleures pratiques lors de l'écriture de code, et quelques bonnes choses sur le cycle de vie du projet logiciel.
  • Code complet : similaire à ce qui précède, mais avec beaucoup plus de détails et d'exemples.
  • Développement piloté par les tests: TDD vous oblige à vous conformer à certaines des pratiques recommandées par les deux livres ci-dessus.
  • Head First Design Patterns : Si vous devez traiter avec ArcObjects, vous voudrez en savoir plus sur les modèles de conception. L'API en est malade.

Code Complete est assez gros, mais les autres peuvent être des lectures rapides. Je recommanderais en fait les deux premiers livres pour les personnes SIG qui n'écriront jamais une ligne de code. Il y a beaucoup de choses là-dedans sur le contrôle des sources, la gestion de projet, la communication et les bons principes de conception.

bwreilly
la source
Je ne pourrais pas être plus d'accord. Adoptez une approche locale et cela rapportera des dividendes.
Kelso
4

Je voulais juste ajouter un peu de mon expérience personnelle. J'ai appris principalement en tant que sous-produit des besoins des employeurs. D'abord avec les scripts ArcGIS Desktop, puis les extensions, puis la programmation d'ArcGIS Server (SOE, Web ADF et API Web). La meilleure ressource, à mon avis, était vraiment l'API et la documentation d'aide. Lors de la première percée dans une zone inconnue, je lisais un peu de l'aide conceptuelle, puis je plongeais dans le codage et référençais le document API selon les besoins. Ensuite, si je restais coincé, j'utiliserais les forums Esri. Les exemples de code existants seraient parfois utiles, mais je ne trouvais généralement pas beaucoup de choses applicables à ce sur quoi je travaillais - ce n'est peut-être plus le cas maintenant. Les vidéos Esri et ce grand site n'étaient pas encore disponibles, donc ce sont certainement des ressources supplémentaires.

J'ajouterai que j'ai étudié la géographie, le SIG et certains comp-sci dans une université, et je pense qu'il est difficile d'avoir une très bonne compréhension du développement SIG à partir du "travail en classe" ou de l'approche des choses d'une manière très générale. Si vous êtes avec un employeur qui travaille avec le SIG, je suggérerais de parler aux gens du SIG là-bas pour identifier un besoin qui ferait un bon petit banc d'essai pour vous - même si vous devez y travailler à votre propre rythme. En dehors de cela, j'essaierais de trouver une fonctionnalité spécifique que vous aimeriez avoir ou que vous pensez être intéressante à assembler, puis travailler à découvrir ce que vous devez savoir pour y parvenir.

zwaap
la source
J'ai une expérience similaire. Ça a bien marché pour moi!
George Silva
3

Code existant ( en plus des autres réponses ... pas à la place de ).

Il y en a beaucoup en ligne dans des endroits comme Google Projects , Codeplex et Github .

Il est intéressant d'apprendre du code pour les projets qui sont assez actifs / en cours d'utilisation et qui ont une communauté d'utilisateurs de taille décente. (Pas que vous ne puissiez rien apprendre des référentiels de code périmés)

Jay Cummins
la source
2

1) ArcGIS ou ArcObjects est un modèle COM, avec un wrapper .Net, Java et C ++ sur le dessus. Ainsi, n'importe quel langage .Net ou Java ou C ++ peut être utilisé. Voir l'aide d'ArcObjects .Net , Java , C ++

2) Je suggérerais un livre de réfraction avec beaucoup de contenu, comme Begining C # ou VB.Net de Wrox.

3) Je commencerais par regarder ces échantillons dans les documents. Surtout le complément .

MathiasWestin
la source
2

Je suggère de ne pas s'appuyer sur les exemples ESRI pour acquérir des compétences en programmation en général ou .NET en particulier. Ce n'est pas un slam sur les échantillons ou les personnes qui les ont préparés; les échantillons sont destinés à montrer comment une chose particulière pourrait ou devrait fonctionner. Par souci de concision, beaucoup de choses sont omises des échantillons. De plus, la plupart des échantillons ESRI que j'ai vus ne sont pas orientés objet mais du code spaghetti.

Cela peut paraître idiot, mais la façon dont je suis passé de Visual Basic 6 à VB.NET et C # était d'étudier les livres de certification. À l'époque, l'accent était mis sur ce qui était différent entre COM et .NET car il était nouveau. Une bonne connaissance de votre langage de développement de choix vous aidera à naviguer dans le champ de mines des échantillons et de la documentation des éditeurs de logiciels.

Découvrez également COM Interop; ESRI a de bonnes informations à ce sujet, mais c'est spécifique à ESRI. Dans ArcGIS, COM Interop n'est peut-être pas votre ami, mais vous subirez beaucoup de débogage sans lui.

Tim Rourke
la source
Je suis d'accord, la programmation en général n'est pas quelque chose que vous bénéficiez d'apprendre dans un environnement plus abstrait que les applications SIG; en outre, les programmeurs SIG les plus performants que je connaisse ne sont pas issus d'un contexte spécifique aux SIG ou à la géographie
WolfOdrade
1

En regardant les ressources en ligne pour Esri, je n'ai pas pu m'empêcher de remarquer comment ArcObjects n'a pas sa part de ressources riches et à jour comme les autres technologies ArcGIS.

C'est la raison pour laquelle j'ai lancé la chaîne Youtube IGeometry pour discuter d'ArcObjects, la série, que j'ai appelée Programmation .NET avec ArcObjects, a atteint son 14e épisode jusqu'à présent et beaucoup de gens du SIG en bénéficient vraiment.

Les séries sont basées sur un projet fictif que j'ai créé appelé "Bestaurants", où vous devez créer une application sur ArcMap pour rechercher, gérer, ajouter, supprimer des restaurants. Avec chaque épisode, nous introduisons une nouvelle interface et découvrons les objets à grains fins dans ArcObjects de manière amusante!

Je poste des vidéos chaque semaine, chaque fois que l'occasion me le permet, car c'est quelque chose que je fais à mon propre rythme.

N'hésitez pas à le vérifier maintenant et à le partager avec n'importe quel geek SIG que vous connaissez peut-être. Les suggestions sont toujours les bienvenues pour améliorer la série.

Qui sait, peut-être qu'une fois que nous aurons terminé, je pourrais commencer une autre série.

Prendre plaisir,

Programmation .NET avec ArcObjects (IGeometry) - 01 - Prise en main

Programmation .NET avec ArcObjects (IGeometry) - 02 - Utilisation des couches

Programmation .NET avec ArcObjects (IGeometry) - 03 - Filtrage des couches

... ...

Voir la liste de lecture complète (14 épisodes à ce jour)

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

hnasr
la source
1

Commencer ArcGIS for Desktop Development à l'aide de .NET , un livre de Pouria Amirian, m'a aidé à entrer dans le développement d'applications ArcGIS / ArcMap. Je pense que c'est l'un des meilleurs livres de référence pour les débutants pour commencer avec les concepts de base .NET et les lier dans ArcObjects. Il propose des exemples de codes C # et d'ensembles de données.

EvilInside
la source
ce livre inclut-il ArcGIS et les logiciels Visual Studio?
Salman
Non, il ne fournit aucun logiciel.
EvilInside
0

Web ADF est le SDK .NET d'ESRI. Il sera obsolète après sa prochaine version.

Cependant, si vous utilisez 9.3.1, Web ADF sera votre ensemble d'outils pour .NET. Il existe de nombreuses ressources en ligne, ESRI et autres.

Quant à améliorer la programmation en général, n'arrêtez jamais de lire! Lisez les blogs et le site Web de programmation. Utilisez Stack Overflow . N'ayez jamais peur de poser des questions. Lisez Code Complete et d'autres livres très appréciés sur la programmation et le développement de logiciels. Lisez tout ce que vous pouvez mettre la main! Bonne chance!

jscharf
la source
0

La migration de VBA vers .NET est assez délicate. Je sais que python est à la mode à la v10, mais en espérant qu'ESRI a mis quelque chose ensemble pour une voie vers le passage à .NET avec des compléments . Idéalement, c'est l'équivalent du grand livre sur "Découvrir les Arcobjects" qui est spécifiquement autour de VBA.

Lisez ce pdf (2008) sur la migration de VBA vers NET Je recommanderais également de lire ce lien dans l'aide Web v10

Simon
la source