Domanda

Abbiamo 2 nuovi programmatori / analisti GIS nel nostro dipartimento (nuovi di programmazione e ArcObjects) e non mi sento abbastanza qualificato o non ho il tempo di insegnare loro. Quindi sto cercando libri / tutorial entry level da usare come riferimento.

Gli unici libri che posso trovare per lo sviluppo di Extensions per ArcMap sono scritti per VBA.

Oltre ai libri di testo ESRI che si ottengono dall'addestramento in Redlands, qualcuno conosce buone fonti per imparare a programmare contro ArcObjects in .Net?

Grazie

È stato utile?

Soluzione

Cercare di insegnare ai programmatori sia ArcObjects che lo sviluppo generale del software è una pessima idea. Sto lottando con lo stesso identico problema in questo momento. Corri il rischio di ottenere due sviluppatori che non programmano molto bene né ArcObjects né C #.

Insegna loro ad essere i primi sviluppatori prima. Per farlo, fai in modo che funzionino su codice non ArcObjects (dipende dal fatto che ciò significhi ArcFIS ADF di alto livello o app complete non GIS). Assicurarsi che comprendano le basi del contesto dell'applicazione (web, desktop, medio, ecc.). Ciò faciliterà il passaggio ad ArcObjects.

Dopo aver acquisito la conoscenza dei fondamenti dello sviluppo software (in particolare ereditarietà e OOP), presentali ad ArcObjects. Il riferimento VBA è adeguato, ma difficile da astrarre in C # e negli strumenti moderni. Uno sviluppatore brillante può farlo, ma quello medio probabilmente imparerà molte cattive abitudini.

La soluzione migliore è mordere il proiettile e inviarlo ai workshop degli sviluppatori. A volte, ESRI offre lezioni presso un ufficio regionale che potrebbero essere più locali per te. In alternativa, inviali al Summit degli sviluppatori o alla Conferenza degli utenti rispettivamente in primavera ed estate. I seminari tecnici sono un po 'avanzati per i principianti assoluti. Detto questo, molto può essere appreso dai worskhops se gli sviluppatori hanno una conoscenza di base di ArcMap o ArcObjects.

Inoltre, devono imparare come usare ArcMap . L'unica cosa utile più importante che possono fare per imparare ArcObjects è imparare ArcMap. Comprendere come funziona nel prodotto desktop può rivelare frequentemente come utilizzare l'API. Un semplice esempio è la proiezione di dati. In ArcMap, è necessario utilizzare uno strumento per proiettare esplicitamente i dati. Semplicemente " impostazione " la proiezione non funziona. Questo si traduce direttamente nell'API in cui è necessario chiamare un "progetto" metodo o utilizzare il progetto GPTool.

Altri suggerimenti

Sono d'accordo con i sentimenti generali che tutti esprimono qui (inizia con la programmazione, inizia in piccolo, soprattutto impara con l'esempio / facendo).

È molto più facile indurre gli sviluppatori a imparare ArcObjects che convincere gli analisti GIS a imparare la programmazione. Il tuo compito (fare entrambe le cose) è piuttosto difficile!

Tuttavia, se dovessi iniziare da qualche parte, li addestrerei prima in basi C # o VB .NET (tramite un buon tutorial basato sul web o un corso a pagamento), e poi continuerei con la formazione specifica ESRI .NET. Come ho detto in un commento sopra, non sono rimasto colpito dai corsi di formazione ESRI. Ho un background di sviluppo software e sono stato in grado di apprendere l'API ArcObjects in un paio di mesi - rispetto ai due mesi di conoscenza pratica, il corso di formazione era davvero di base sul materiale ArcObjects. Tuttavia, potrebbe funzionare per gli apprendisti e potresti avere fortuna con le tue assunzioni.

Voglio anche aggiungere che vuoi assolutamente porre l'accento sull'addestramento del software e prendere in considerazione l'API ArcObjects. Se questa estensione ArcMap è un prodotto che intendi vendere alle persone e che hai come clienti, rendersi conto che supportare, migliorare e mantenere un prodotto pieno di bug è un'operazione costosa. Pertanto, qualsiasi dollaro speso per la formazione sul software si ripagherà da solo a lungo termine.

Vorrei anche dirti di prendere in considerazione l'assunzione di uno sviluppatore di software su base contrattuale per fare da guida e mentore, per esempio, sei mesi.

Per quanto ricordo un po 'del codice di ESRI Developer Network è ora in C #, almeno quella era la mia fonte primaria di codice C # per GIS, ma niente libri, scusa.

Forse questo sarebbe un buon primer: http: // www .pragprog.com / titoli / sdgis / GIS-for-web-sviluppatori

Se i tuoi dipendenti sono davvero nuovi nella programmazione, inizierei con l'apprendimento dei fondamenti di C # (o di qualche altro linguaggio .Net, ma C # è probabilmente la strada da percorrere per i principianti) e le buone pratiche di programmazione. Immagino che ci siano thread stackoverflow esistenti che avrebbero suggerimenti per questo. Penso che una solida comprensione della programmazione orientata agli oggetti e la conoscenza della sintassi del linguaggio in cui saranno presentati gli esempi faciliterà l'apprendimento di ArcObjects.

Non sono a conoscenza di libri non ESRI su ArcObjects. Tuttavia, penso che le loro risorse siano adeguate per iniziare i principianti. Oltre ai libri di testo ESRI, suggerirei di iniziare con le risorse online all'indirizzo http: // resources.esri.com/arcgisdesktop/dotnet/index.cfm

Altri suggerimenti sono imparare a leggere i diagrammi dei modelli di oggetti e usare l'aiuto per esplorare metodi e proprietà di ArcObjects. Incoraggiare anche i dipendenti a trarre vantaggio dai forum degli utenti ESRI. Ci sono molte persone ben informate disposte ad aiutare con domande lì.

Fai pratica con l'esempio.

Mi sono divertito un po 'quando ho iniziato con strumenti semplici ma interessanti come uno che ha catturato uno screenshot della mappa corrente e lo ha pubblicato su un sito MediaWiki (con un solo clic). Gran parte dell'API sembra Deep Magic e più di una volta mi sono imbattuto in funzionalità completamente prive di documenti sfogliando il registro di Windows e facendo congetture istruite (come come creare una voce di menu personalizzata nel menu di scelta rapida "Visualizzazione dati").

Ho sempre imparato MOLTO meglio avendo compiti semplici e realizzabili che essere costretto a leggere libri noiosi e asciutti.

C'è molto potere, ma sono stato certamente lento nel conoscerlo e capirlo molto.

Senza renderlo interessante, penso che gli sviluppatori si suicideranno con un'API così grande.

Inoltre, non sono a conoscenza di libri non ESRI incentrati su ArcObjects. Per il software ArcGIS Server e per me, posso solo consigliare la Guida dell'amministratore e degli sviluppatori di ArcGIS Server (ovvero, AFAIK inclusa nella casella di installazione di AGS) - ci sono molti esempi di codice, sia per C # che per VB. Anche se non si sta programmando con AGS, gli esempi possono ancora essere utili per educare come funziona il codice ArcObjects.

Sono completamente d'accordo con James.

Come qualcuno che era su questa barca 4 anni fa, credo fermamente che dovresti iniziare con la programmazione .NET, quindi passare alla piattaforma ESRI e non essere impantanato dai problemi ESRI quando stai cercando di imparare i concetti OOP.

Vorrei anche sottolineare che i centri di risorse per sviluppatori ESRI hanno una grande quantità di informazioni per i principianti [ http://resources.esri.com/gateway/index.cfm]

Se inizi con .NET e sviluppo desktop, puoi vedere la 'pagina iniziale' in [ http://resources.esri.com/help/9.3/ArcGISDesktop/dotnet/concepts_start.htm]

buona fortuna.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top