Question

Nous avons 2 nouveaux programmeurs / analystes SIG dans notre département (nouveaux en programmation et ArcObjects) et je ne me sens pas suffisamment qualifié ni n’ai le temps de les enseigner. Je cherche donc des livres / didacticiels de niveau débutant à utiliser comme référence.

Les seuls livres que je peux trouver pour développer Extensions for ArcMap sont écrits pour VBA.

Outre les manuels de cours ESRI que vous obtenez lors de votre formation à Redlands, quelqu'un connaît-il de bonnes sources pour apprendre à coder contre ArcObjects dans .Net?

Merci

Était-ce utile?

La solution

Essayer d'apprendre aux programmeurs à la fois ArcObjects et le développement de logiciels en général est une très mauvaise idée. Je me bats avec exactement le même problème en ce moment. Vous courez le risque d'obtenir deux développeurs qui ne programment ni ArcObjects ni C # très bien.

Apprenez-leur à être de bons développeurs en premier. Pour ce faire, demandez-leur de travailler sur du code non ArcObjects (que cela signifie que vous voulez un ADF ArcGIS de haut niveau ou des applications complètes non SIG). Assurez-vous qu'ils comprennent les bases du contexte de l'application (Web, bureau, intermédiaire, etc.). Cela facilitera la transition vers ArcObjects.

Une fois qu'ils ont compris les principes fondamentaux du développement logiciel (notamment l'héritage et la POO), initiez-les à ArcObjects. La référence VBA est adéquate, mais difficile à résumer en C # et aux outils modernes. Un développeur brillant peut le faire, mais votre moyenne en apprendra probablement beaucoup de mauvaises habitudes.

Votre meilleur choix est de mordre la balle et de les envoyer aux ateliers de développeurs. Parfois, ESRI propose des cours dans un bureau régional plus proche de vous. Vous pouvez également les envoyer au sommet des développeurs ou à la conférence des utilisateurs au printemps et en été, respectivement. Les ateliers techniques sont un peu avancés pour les débutants. Cela dit, les ateliers techniques permettent d’apprendre beaucoup de choses si les développeurs ont une connaissance très élémentaire d’ArcMap ou d’ArcObjects.

En outre, ils doivent apprendre à utiliser ArcMap . La chose utile la plus importante qu’ils puissent faire pour apprendre ArcObjects est d’apprendre ArcMap. Comprendre son fonctionnement dans le produit de bureau peut souvent révéler comment utiliser l'API. Un exemple simple est la projection de données. Dans ArcMap, vous devez utiliser un outil pour explicitement projeter des données. Simplement " réglage " la projection ne fonctionne pas. Cela se traduit directement dans l'API où vous devez appeler un "projet". méthode ou utilisez le GPTool du projet.

Autres conseils

Je suis d’accord avec les sentiments généraux exprimés par tout le monde (commencer par programmer, commencer petit, surtout apprendre par l’exemple / faire).

Il est beaucoup plus facile d'amener les développeurs à apprendre ArcObjects que de faire apprendre aux analystes SIG la programmation. Votre tâche (faire les deux) est assez difficile!

Néanmoins, si vous devez commencer quelque part, je les formerais d'abord aux notions de base de C # ou de VB .NET (via un bon tutoriel sur le Web ou un cours rémunéré), puis de suivre la formation spécifique à ESRI .NET. Comme je l'ai dit dans un commentaire ci-dessus, les cours de formation ESRI ne m'ont pas impressionné. J'ai une formation en développement logiciel et j'ai pu apprendre à utiliser l'API ArcObjects en quelques mois. Comparé à deux mois d'expérience pratique, le cours de formation était vraiment basique sur le matériel ArcObjects. Néanmoins, cela peut fonctionner pour les apprentis et vous pouvez avoir de la chance avec vos embauches.

Je souhaite également ajouter que vous souhaitez avant tout mettre l’accent sur la formation aux logiciels et considérer l’API ArcObjects comme accessoire. Si cette extension ArcMap est un produit que vous avez l'intention de vendre à des personnes et que vous avez en tant que clients, il est coûteux de prendre en charge, d'améliorer et de maintenir un produit criblé de bogues. Ainsi, tout dollar dépensé en formation en logiciel sera rentable à long terme.

Je vous dirais même de considérer l'embauche d'un développeur de logiciel sur une base contractuelle pour servir de guide et de mentor pendant six mois, par exemple.

Autant que je me souvienne, une partie du code du réseau de développeurs ESRI est maintenant en C #, du moins, c’était au moins ma source principale de code C # pour SIG, mais pas de livres, désolé.

Ce serait peut-être une bonne introduction: http: // www .pragprog.com / titres / sdgis / gis-pour-développeurs-web

Si vos employés sont vraiment nouveaux dans le domaine de la programmation, je commencerais par leur apprendre les bases du C # (ou de tout autre langage .Net, mais le C # est probablement la voie à suivre pour les débutants) et une bonne pratique de programmation. J'imagine qu'il existe des threads stackoverflow existants qui auraient des suggestions pour cela. Je pense qu'une bonne compréhension de la programmation orientée objet et la connaissance de la syntaxe du langage dans lequel les exemples seront présentés faciliteront l'apprentissage d'ArcObjects.

Je ne suis pas vraiment au courant des livres non ESRI sur ArcObjects. Cependant, je pense que leurs ressources sont suffisantes pour que les débutants puissent débuter. En plus des manuels de cours ESRI, je suggérerais de commencer par les ressources en ligne à l'adresse http: //. ressources.esri.com/arcgisdesktop/dotnet/index.cfm

Vous pouvez également apprendre à lire les diagrammes de modèle d’objet et à utiliser l’aide pour explorer les méthodes et propriétés d’ArcObjects. Encouragez également les employés à tirer parti des forums d'utilisateurs ESRI. De nombreuses personnes bien informées sont disposées à répondre à vos questions.

Pratiquez par l'exemple.

Au début, je me suis amusé avec des outils simples mais intéressants, comme celui qui prenait une capture d'écran de la carte actuelle et la publiait sur un site MediaWiki (en un seul clic). Une grande partie de l'API semble être de la magie profonde et, plus d'une fois, je suis tombé sur des fonctionnalités complètement non documentées en fouillant dans le registre de Windows et en émettant des suppositions éclairées (comme créer un élément de menu personnalisé dans le menu contextuel de la "Vue des données").

J'ai toujours appris BEAUCOUP mieux en ayant des devoirs simples et réalisables que d'être obligé de lire des livres secs et ennuyeux.

Il y a beaucoup de pouvoir, mais j'ai certainement mis beaucoup de temps à en connaître et à en comprendre une grande partie.

Sans rendre cela intéressant, je pense que les développeurs vont se laisser aller au suicide avec une API aussi grosse.

Je ne connais pas non plus les livres non ESRI axés sur ArcObjects. Pour le logiciel ArcGIS Server et pour moi, je ne peux que recommander le Guide de l'administrateur et du développeur d'ArcGIS Server (c'est-à-dire, autant que je sache, inclus dans la boîte d'installation d'AGS) - il existe de nombreux exemples de code, à la fois en C # et en VB. Même si vous ne programmez pas avec AGS, des exemples peuvent toujours être utiles pour expliquer le fonctionnement du code ArcObjects.

Je suis complètement d'accord avec James.

En tant que personne qui était dans ce bateau il y a 4 ans, je suis fermement convaincu que vous devriez commencer par la programmation .NET, puis passer à la plate-forme ESRI et ne pas vous enliser dans des problèmes ESRI lorsque vous essayez d'apprendre les concepts de la programmation orientée objet.

Je tiens également à souligner que les centres de ressources pour développeurs ESRI offrent une mine d'informations pour les débutants [ http://resources.esri.com/gateway/index.cfm]

Si vous démarrez avec .NET et desktop developemnt, vous pouvez voir la "page de démarrage" sous [ http://resources.esri.com/help/9.3/ArcGISDesktop/dotnet/concepts_start.htm]

bonne chance.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top