Imparare .NET per ArcGIS (principalmente desktop) utilizzare?


12

Ho competenze di programmazione di base (programma semplici script vba python e lisp e ho seguito un corso java molto tempo fa), ma mi sembra (a giudicare dalle pubblicazioni ESRI) che non c'è scampo alla necessità di imparare .NET per rilevanza futura nel mercato del lavoro GIS (anche come analista).

Ho seguito un corso base di c # e posso programmare (purtroppo) programmi piuttosto scadenti, ma non ho idea di come collegare le conoscenze di c # alla programmazione effettiva per arcgis per progredire.

1) So che le differenze non sono grandi, ma ArcGIS utilizza .NET o C #?

2) So che il modo migliore per migliorare la mia esperienza in .NET è programmare sempre di più, ma ci sono buoni libri o corsi di programmazione .NET da cui posso imparare le tecniche?

3) Secondo te, qual è il modo migliore per imparare a programmare in .NET per ArcGIS? Ci sono libri o siti Web utili?

Apprezzo i tuoi commenti su ArcGIS 10 (e li salverò per dopo) ma se potessi darmi un po 'di testa su ArcGIS 9.3.1 sarebbe grandioso (mi trovo in una posizione molto sconcertante che mentre Esri e il mondo intero è focalizzato su ArcGIS 10.0 (compresi i rappresentanti locali di Esri), quasi nessuno nel paese ha fatto l'upgrade dalla 9.3.1 o ha in programma di farlo, e personalmente ho problemi a cercare risposte appropriate 9.3.1.

Risposte:



7

4

Se vuoi scrivere cose che evitino il disprezzo e la derisione dei programmatori, cose di cui puoi sentirti orgoglioso in un portfolio, vorrai avere una comprensione davvero ferma della progettazione e dello sviluppo orientati agli oggetti (se non lo hai già fatto) . Padroneggiare lingue e framework specifici può venire dopo.

In ogni caso, usa .NET e ArcObjects come linguaggio / API di riferimento quando lavori attraverso esercizi di programmazione in alcuni buoni libri di sviluppo software. Eccone alcuni per iniziare:

  • Il programmatore pragmatico : best practice durante la scrittura di codice e alcune cose utili nel ciclo di vita del progetto software.
  • Codice completo : simile al precedente, ma con molti più dettagli ed esempi.
  • Test Driven Development : TDD ti costringe a conformarti ad alcune delle pratiche raccomandate dai due libri sopra.
  • Head First Design Patterns : Se hai a che fare con ArcObjects, vorrai conoscere i modelli di design. L'API è malata con loro.

Il codice completo è piuttosto grande, ma il resto può essere una lettura veloce. In realtà consiglierei i primi due libri per le persone GIS che non scriveranno mai una riga di codice. Ci sono alcune cose fantastiche in materia di controllo del codice sorgente, gestione del progetto, comunicazione e principi di progettazione.


Non potrei essere più d'accordo. Adotta un approccio di base e pagherà i dividendi.
Kelso,

4

Volevo solo aggiungere un po 'dalla mia esperienza personale. Ho imparato principalmente come sottoprodotto delle esigenze del datore di lavoro. Prima con gli script ArcGIS Desktop, quindi con le estensioni, quindi con la programmazione ArcGIS Server (SOE, Web ADF e API Web). La migliore risorsa, secondo me, era davvero l'API e la documentazione di aiuto. Quando ho fatto irruzione per la prima volta in un'area sconosciuta, ho letto un po 'dell'aiuto concettuale, quindi mi sono tuffato nella codifica e ho fatto riferimento al documento API come necessario. Quindi, se mi bloccassi, userei i forum di Esri. Occasionalmente esempi di codice esistenti potrebbero essere utili, ma di solito non riuscivo a trovare molto che fosse applicabile a ciò su cui stavo lavorando - potrebbe non essere così tanto ora. Anche i video di Esri e questo fantastico sito non erano ancora disponibili, quindi sono sicuramente risorse aggiuntive.

Aggiungerò che ho studiato geografia, GIS e alcune scienze informatiche in un'università, e penso che sia difficile avere una buona conoscenza degli sviluppatori GIS dal "lavoro di classe" o dall'avvicinarsi alle cose in un modo molto generale. Se sei con un datore di lavoro che lavora con GIS, suggerirei di parlare con la gente GIS lì per identificare un bisogno che farebbe un buon test dev piccolo per te - anche se devi lavorare su di esso nel tuo tempo libero. A parte questo, proverei a trovare alcune funzionalità specifiche che vorresti avere o che pensi siano interessanti da mettere insieme, quindi lavorare per scoprire ciò che devi sapere per raggiungere questo obiettivo.


Ho un'esperienza simile. Ha funzionato bene nel mio caso!
George Silva,

3

Codice esistente ( oltre alle altre risposte ... non al posto di ).

Ce ne sono molti online in posti come Google Projects , Codeplex e Github .

È interessante imparare dal codice per progetti che sono abbastanza attivi / in uso e con una comunità di utenti di dimensioni decenti. (Non che non puoi imparare nulla dai repository di codice non aggiornati)


2

1) ArcGIS o ArcObjects è un modello COM, con un wrapper .Net, Java e C ++ in cima. Quindi è possibile utilizzare qualsiasi linguaggio .Net o Java o C ++. Vedere la Guida di ArcObjects .Net , Java , C ++

2) Suggerirei un libro di riferimento con molti contenuti, come Begining C # o VB.Net di Wrox.

3) Vorrei iniziare guardando i campioni nei documenti. Specialmente i componenti aggiuntivi .


2

Suggerirei di non fare affidamento sugli esempi ESRI per apprendere le competenze di programmazione in generale o .NET in particolare. Non è uno schianto sui campioni o sulle persone che li hanno preparati; i campioni hanno lo scopo di mostrare come una cosa particolare potrebbe o dovrebbe funzionare. Per brevità, molte cose sono lasciate fuori dai campioni. Inoltre, la maggior parte dei campioni ESRI che ho visto non sono orientati agli oggetti ma al codice spaghetti.

Sembra sciocco, ma il modo in cui sono passato da Visual Basic 6 a VB.NET e C # è stato quello di studiare i libri di certificazione. A quel tempo, c'era molta enfasi su ciò che era diverso tra COM e .NET da quando era nuovo. Una buona base nel linguaggio di sviluppo scelto ti aiuterà a navigare nel campo minato di campioni e documentazione della società di software.

Conosci anche COM Interop; ESRI ha alcune buone informazioni su di esso, ma è specifico ESRI. In ArcGIS, COM Interop potrebbe non essere tuo amico, ma subirai molti debug senza di essa.


Sono d'accordo, la programmazione in generale non è qualcosa che trarrai beneficio dall'apprendimento in un ambiente più astratto rispetto alle applicazioni GIS; inoltre la maggior parte dei programmatori GIS di successo che conosco non provengono da un background specifico GIS o geografico
WolfOdrade,

1

Guardando le risorse online per Esri non ho potuto fare a meno di notare come ArcObjects non ha la sua quota di risorse ricche e aggiornate come le altre tecnologie ArcGIS.

Questo è il motivo per cui ho avviato il canale Youtube di IGeometry per discutere di ArcObjects, la serie, che ho chiamato .NET Programming con ArcObjects, finora ha raggiunto il suo 14 ° episodio e molte persone GIS ne stanno davvero beneficiando.

La serie si basa su un progetto immaginario che ho creato chiamato "Bestaurants", in cui devi creare un'applicazione in cima ad ArcMap per cercare, gestire, aggiungere, eliminare ristoranti. Con ogni episodio introduciamo una nuova interfaccia e impariamo a conoscere gli oggetti a grana fine in ArcObjects in modo divertente!

Pubblico video settimanalmente, ogniqualvolta l'occasione lo consenta, poiché è qualcosa che faccio nel mio tempo libero.

Sentiti libero di provarlo ora e condividerlo con qualsiasi geek GIS che potresti conoscere. Suggerimenti sono sempre ben accetti per migliorare la serie.

Chissà, forse una volta finito questo, potrei iniziare un'altra serie.

Godere,

Programmazione .NET con ArcObjects (IGeometry) - 01 - Guida introduttiva

Programmazione .NET con ArcObjects (IGeometry) - 02 - Lavorare con i livelli

Programmazione .NET con ArcObjects (IGeometry) - 03 - Filtraggio dei livelli

...

Vedi l'intera playlist (14 episodi finora)

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


1

Iniziare ArcGIS per lo sviluppo desktop usando .NET , un libro di Pouria Amirian, mi ha aiutato ad entrare nello sviluppo di applicazioni ArcGIS / ArcMap. Penso che questo sia uno dei migliori libri di riferimento per i principianti che iniziano con concetti .NET di base e li collegano ad ArcObjects. Viene fornito con codici e set di dati di esempio C #.


questo libro include ArcGIS e software Visual Studio con esso?
Salman,

No, non fornisce alcun software.
EvilInside,


0

ADF Web è l'SDK .NET di ESRI. Sarà deprecato dopo la sua prossima versione.

Tuttavia, se si utilizza 9.3.1, Web ADF sarà il set di strumenti per .NET. Ci sono molte risorse online, ESRI e altro.

Per quanto riguarda il miglioramento della programmazione in generale, non smettere mai di leggere! Leggi blog e siti Web di programmazione. Usa Stack Overflow . Non aver mai paura di fare domande. Leggi Code Complete e altri libri molto apprezzati sulla programmazione e lo sviluppo del software. Leggi tutto quello su cui puoi mettere le mani! In bocca al lupo!


0

La migrazione da VBA a .NET è piuttosto complicata. So che Python è di gran moda in v10, ma sperando che ESRI abbia messo insieme qualcosa per un percorso intorno al passaggio a .NET con componenti aggiuntivi . Idealmente, l'equivalente del grande libro su "Conoscere gli oggetti di Arco", che è specificamente incentrato su VBA.

Leggi questo (2008) pdf sulla migrazione da VBA a NET. Raccomando anche di leggere questo link nel webhelp v10

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.