Iniziare con ArcObjects?

Qual è il percorso o il posto migliore per iniziare con ArcObjects se uno non è uno sviluppatore e non mira a diventare uno sviluppatore ?

Uso gis professionalmente da molto tempo, quasi due decenni, arcinfo / arcgis per la maggior parte; sono abbastanza bravo. Sto imparando lo sviluppo di software e ho persino una piccola applicazione Python di modesto successo usata in un progetto pubblico, non sono bravo! Non voglio diventare uno sviluppatore di software a tutti gli effetti, ma continuo a imbattermi in cose che non posso fare senza programmare ( esempio ). Nel mondo di Arcgis questo mi colloca abbastanza direttamente nel campo di Python, il che per me va bene dato che mi piace Python, tuttavia Python non ha un accesso diretto ad ArcObjects. (Python e ArcObjects è possibile , ma è un percorso non supportato. Questa domanda riguarda il seguire un percorso battuto.)

Ho bisogno per iniziare, ma dove? Arcgis help dice per iniziare con ESRI Developer Network ma $ 1500 / anno non è sicuramente nel mio budget e suona come usare una mazza per schiacciare le zanzare. E quale lingua .NET, Visual Basic o Visual C ++?


AGGIORNAMENTO: Grazie a tutti per le meravigliose risposte. Alla luce di esse mi rendo conto di aver ristretto inutilmente lambito della mia domanda presumendo” ArcObjects ” è la direzione in cui devo andare. Una formulazione più aperta è più sulla falsariga di:

Continuo a incontrare problemi che non posso “t risolvere solo con arcgis e python. Cosaltro posso imparare / usare per risolvere problemi come X? Non ho alcun interesse o intenzione di diventare uno sviluppatore di software. Ho solo bisogno di fare un paio di cose che non sono esposte ai moduli python di arcgis.

Commenti

  • questa è una domanda riciclata da Stack Overflow, ( ref ) che per qualsiasi motivo ‘ ho deciso di non eseguire la migrazione qui. Quindi ‘ sto chiedendo di nuovo di ottenere una risposta più esauriente dalle persone in una posizione migliore per aiutare.
  • Che software hai a tua disposizione? ArcGIS devo presumere. Visual Studio 2008/2010 Pro / Express?
  • Ho ArcGIS 9 & 10. Non ho ‘ selezionato qualsiasi software di sviluppo.

Risposta

VB.Net Sicuramente i componenti aggiuntivi . I walk-trogoli ESRI ti porteranno sulla strada.

Uso VB6 e VBA da anni e personalmente trovo VB abbastanza intuitivo. Ovviamente VB .Net è un animale completamente diverso ma il aggiunge -in struttura è relativamente semplice da imparare e distribuire. Ho appena seguito un seminario tecnico in ArcPy a una conferenza ESRI e devo dire che rimarrò fedele a VB.Net add-in. Stavo piangendo a fiumi quando è diventato evidente che VBA sarà sostituito da componenti aggiuntivi, ma dopo aver infranto la curva di apprendimento devo dire che è lunico miglior miglioramento di ArcGIS 10. Non cè niente che non possa fare con questa configurazione . Ho strumenti personalizzati ovunque. Le cose di cui le persone si lamentano in ArcGIS le personalizzo semplicemente a mio piacimento. Scrivere uno strumento e distribuirlo in un ambiente dufficio è un gioco da ragazzi …

Tutto ciò di cui hai bisogno è Visual Studio Express gratuito e SDK installato.

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

Per quanto riguarda ArcObjects, ci sono così tanti esempi e frammenti di codice che puoi aggiungere direttamente in Visual Studio che potresti essere in grado di apprendere le basi dagli esempi.

Nella versione 8 ESRI ha effettivamente pubblicato i libri di ArcObjects; 2 enormi volumi che erano un ottimo riferimento e includevano molti esempi per C e VB. Ora è possibile trovare tutto online, ma vorrei che ESRI pubblicasse di nuovo questi.

Commenti

  • Daccordo su tutti i punti, buuuuttt, I direi vai C # se non ‘ Non ho esperienza precedente con VBA / VB6.
  • Sì, sono parziale con VB. Se fossi uno sviluppatore e utilizzassi varie piattaforme, andrei sicuramente con C # ma trovo (e così lopinione popolare) VB visivamente più chiaro e più facile da comprendere e di conseguenza più adatto per un principiante.
  • +1 in corso con C #. ‘ è chiaramente il linguaggio .NET preferito dai leader del settore. Ho usato VB e C # come principiante e in realtà penso che ‘ sia più facile da imparare e da capire. Inoltre è più vicino ad altri linguaggi basati su C come JavaScript e Java.

Risposta

Ecco “una spina spudorata per un articolo che ho scritto lanno scorso per ArcUser su come iniziare con ArcObjects in .NET .

Rispondi

Se non “Non voglio essere uno sviluppatore serio, quindi metterei in dubbio la tua mossa nellentrare nel mondo della programmazione. Il problema qui è che per scrivere codice dovresti capire cosa sta succedendo sotto il cofano. Altrimenti potresti fare qualcosa ai tuoi dati, allapplicazione e persino al tuo computer che non avevi intenzione di fare, solo per mancanza di comprensione (sì, potresti farlo anche in Python ma .NET è un ulteriore passo avanti nel rendere gli errori un po più facili da comimt).

Per quanto riguarda la tua domanda sugli alias dei campi (non sono sicuro di aver capito correttamente) stavi chiedendo di cambiare gli alias dei campi in una feature class? In tal caso potresti usa featureclass_to_featureclass con la mappatura dei campi. Sì, crea unaltra feature class ma potresti semplicemente avere unarea di output per copiare i dati e cambiare gli alias mentre lo fa.

Come suggerisce Steve, ArcPy potrebbe anche rispondere alle tue esigenze in ArcGIS 10 con il nuovo accesso alle proprietà dei layer nella mappa.

Answer

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

appena ho aperto il canale Youtube IGeometry per discutere di ArcObjects, la serie, che ho chiamato .NET Programming with ArcObjects, ha raggiunto il suo 14 ° episodio fino ad ora e molti Le persone GIS ne stanno davvero beneficiando.

Le serie sono basate su un progetto immaginario che ho creato chiamato “Bestaurants”, dove devi creare unapplicazione sopra 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 un modo divertente!

Pubblico video settimanalmente, ogni volta che la possibilità lo consente, poiché è qualcosa che faccio nel mio tempo libero.

Sentiti libero di provarlo ora e condividerlo con qualsiasi fanatico del GIS che potresti conoscere. I suggerimenti sono sempre ben accetti per migliorare la serie.

Chissà, forse una volta finito questo, potrei iniziare unaltra serie.

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

Risposta

Non è necessario un abbonamento EDN per sviluppare con ArcObjects, né per accedere alla documentazione SDK.

http://help.arcgis.com/en/sdk/10.0/arcobjects_net/ao_home.html

Commenti

  • Ma è necessario EDN per accedere allSDK stesso , non è vero? E, lascia che ‘ sia onesto, tirare fuori il codice dal tuo dietro non è esattamente unopzione per qualcuno che non è interessato alla nitidezza di tale sviluppo .
  • No, ‘ è sul CD di installazione.
  • Viene fornito con ogni versione del prodotto?
  • Credo che solo le principali versioni. Gli esempi si trovano anche nella guida in linea, sebbene quella .NET non ‘ sembri avere un elenco, quella Java sì : help.arcgis.com/en/sdk/10.0/java_ao_adf/conceptualHelp/engine/… Il file della guida installato con lSDK è tuttavia molto più utile.
  • Se si dispone di una copia di ArcGIS Desktop, non è necessaria una sottoscrizione EDN per sviluppare componenti aggiuntivi. Un abbonamento EDN è semplicemente un modo per fornire agli sviluppatori una copia di quasi tutto nello stack ArcGIS senza bruciare licenze di produzione molto più costose. EDN è utile anche per lo sviluppo se non si possiede alcuna licenza di produzione. Non è necessario EDN per codificare e sviluppare con lAPI ArcObjects.

Risposta

Ho pubblicato una domanda simile sulle migliori risorse ArcObjects:

Risorse ArcObjects

Gli snippet di codice forniti da ArcGIS Resource Center sono molto utili e offerti in C # e VB.NET.

Answer

Suggerirei di imparare arc.py se non conosci già arcobjects poiché esri si sta allontanando da vba arcobjects come linguaggio di scripting. Altrimenti vorresti che visual studio e c # iniziassero a scrivere oggetti arc. Questo è un bel libro. http://www.amazon.com/Exploring-ArcObjects-Two-Michael-Zeiler/dp/1589480007

Risposta

È ora disponibile un nuovo libro su ArcObjects (copre anche 10.1).

Inizio di ArcGIS for Desktop Development utilizzando .NET

Risposta

La Pennsylvania State University ha recentemente rilasciato laccesso gratuito al suo Corso GIS Application Development .
Insegna le basi di ArcObjects in VB.NET

Risposta

Non è una vera risposta in quanto hai già affermato che non vuoi essere uno sviluppatore.
Ho postato qui per il vantaggio di formattazione rispetto ai commenti.
Questo blog è appena arrivato ed è piuttosto ampio nel dare indicazioni alla comunità di sviluppo riguardo al server arcgis.
Delinea lintento di allontanarsi da ADF e incoraggia ladozione dei servizi web .
Spero che aiuti in qualche modo la tua decisione.

ESRI Blogs – ArcGISServer

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *