Imparare ArcPy?


Risposte:


71

Questa domanda è stata convertita in Wiki della comunità e wiki bloccato perché è un esempio di una domanda che cerca un elenco di risposte e sembra essere abbastanza popolare da proteggerlo dalla chiusura. Dovrebbe essere trattato come un caso speciale e non dovrebbe essere visto come il tipo di domanda che è incoraggiata su questo o su qualsiasi sito Stack Stack, ma se desideri contribuire con più contenuti ad esso, sentiti libero di farlo modificando questa risposta .


Guarda i post qui e su altri siti Web che usano gli script Python e prova a decostruirli e vedi quali tecniche stanno utilizzando gli autori per svolgere il loro compito. Le nostre FAQ autoassemblanti su ArcPy meritano di essere esaminate a questo scopo.

Troverai educativo cercare di risolvere i problemi degli altri. Abbiamo un elenco autoassemblante di domande senza risposta su ArcPy per aiutarti a trovarle.

Documentazione ArcGIS:

Leggi i file della guida !! Il 90% di ArcPy è uguale all'utilizzo degli strumenti della GUI, solo tu li stai avviando con Python. I file della guida hanno tutti un codice Python di esempio in fondo.

Libri online:

Corsi online:

Tutorial:

Documentazione Python:

presentazioni:

Libri di carta:

Comunità di utenti:

Blog:

Codice di esempio:

Strumenti / ambienti di sviluppo integrato (IDE) - Non commerciali:

Moduli / Frameworks:

Vedi anche questi suggerimenti generali per i nuovi programmatori Python in questa risposta al Esportazione mxds in PDF utilizzando ArcPy? .


1
Vecchia domanda, ma sono nuovo di ArcPy e ho pensato di aggiungere ciò che mi ha aiutato di recente. Questa serie di YouTube mi è stata di grande aiuto, personalmente. I video sono brevi e li ho visti tutti in una sera a velocità 2x per avere un'idea di come funziona ArcPy (non mi sono preoccupato di fare alcun esercizio, ho solo guardato i video). [ youtube.com/playlist?list=PLO6KswO64zVu7S4bqQoHWR5516aCUEnda ]
AlexS1

Ho anche ricevuto questo libro. È un'introduzione da discreta a buona ed è stata sicuramente utile per me, ma sicuramente manca di approfondimento e argomenti avanzati. Tuttavia, personalmente ho pensato che ne valesse la pena per ~ $ 25 utilizzati (non pagherei più di ~ $ 35 per questo, ma questa è la mia opinione). [ amazon.com/ArcPy-ArcGIS-Second-Silas-Toms/dp/1787282511/… ]
AlexS1

14

Consiglio vivamente di leggere la programmazione di ArcGIS 10.1 con Python Cookbook .

inserisci qui la descrizione dell'immagine

Dalla mia esperienza, non puoi imparare rigorosamente il pacchetto del sito arcpy senza infine introdurre concetti più ampi dal linguaggio di programmazione Python. In effetti, ho prima provato ad adottare l'approccio a cui ti stai sfuggendo, dove ho iniziato a utilizzare il pacchetto del sito arcpy per automatizzare i processi in ArcGIS. Tuttavia, mi sono trovato rapidamente a sfogliare la documentazione di Python alla ricerca di approcci migliori, ad esempio per manipolare percorsi come con os.path.join(). Ho anche scoperto di aver evitato librerie Python incredibilmente potenti come NumPy e SciPy accettando le alternative ESRI. Riassumendo, consiglierei i seguenti passi per apprendere i fondamenti di Python complimentati con il pacchetto del sito arcpy:

  1. Primo: usa un IDE come PythonWin o PyScripter per eseguire tutti i tuoi script! Ci vogliono troppe persone troppo a lungo per rendersi conto che possono implementare ed eseguire il debug degli script al di fuori della finestra di ArcGIS Python.
  2. Esegui anche le attività più semplici utilizzando Python. Ad esempio, definire un'area di lavoro e creare un geodatabase a livello di codice. Non iniziare a creare script complicati.
  3. Va bene fare tutto il tuo scripting usando inizialmente arcpy - tieni presente che ci sono metodi migliori e più efficienti per molte attività. Cerca sempre un'alternativa migliore con Python puro, se necessario.
  4. Trova soluzioni programmatiche per richieste su questo sito. Questo ti aiuterà sicuramente a completare le tue abilità, in quanto ti espone a problemi al di fuori della tua zona di comfort.
  5. Infine, una volta che credi di avere una buona conoscenza di Python, segui un corso con istruttore dell'ESRI come Introduzione agli script di geoprocessing con Python . Sì, questi corsi sono costosi, ma sono preziosi e rafforzeranno davvero ciò che hai già imparato. Basta non entrare in uno di questi corsi senza una buona conoscenza dei concetti principali.

6

Mi alleno spesso con ArcMap e il nostro corso di formazione introduce le persone a Python e Arcpy. Faccio di tutto per convincere la gente a leggere il file della Guida! Di cosa parla la gente che non legge il file di aiuto, mi fa impazzire!

Se si apre il file della guida di qualsiasi strumento di geo-elaborazione, viene sempre fornito un campione di codice Python utilizzando tale strumento. Questo è un ottimo modo per imparare come interagire con il modulo arcpy in un ambiente Python.

Per un principiante, è gratuito e integrato direttamente nel file della guida dell'applicazione. Se vuoi fare cose più sofisticate, scegli le risorse che sono state raccolte in questo thread.


3
Questo. Sì. C'è molta documentazione nel mondo ArcGIS. Le persone hanno dedicato molto tempo alla stesura di tale documentazione. È un po 'confuso per me quando le persone affrontano il problema di creare una lunga domanda su Internet che ottenga una risposta che è solo un collegamento alla documentazione in cui la persona avrebbe potuto usare un motore di ricerca, scritto un numero significativamente più piccolo di parole, e sono arrivato alla stessa pagina di aiuto.
Jason Scheirer,


3

L'unica cosa che aggiungerei è creare qualcosa nel modellatore ed esportarlo in uno script Python per darti un'idea di come i diversi componenti si incastrano.


7
Vorrei mettere in guardia contro questo. C'è un sacco di pulizia da fare con questo approccio (l'esportatore inserisce molta cruft, strani nomi di variabili, ecc., E alcune cose non funzionano se esportate da ModelBuilder), e credo che il semplice atto di la digitazione di istruzioni e funzioni ti costringe a imparare in modo più efficace rispetto a lasciare che uno strumento lo faccia per te.
blah238

6
Un'alternativa è fare clic con il pulsante destro del mouse su un risultato di geoprocessing e fare clic su "Copia come Python Snippet" se si desidera semplicemente ottenere la sintassi di una chiamata di funzione (particolarmente utile per cose come i mapping dei campi).
blah238

Sì, punto giusto - non è male se stai solo unendo un paio di operazioni insieme (un paio di buffer seguite da una clip forse) ma come dici che diventa brutto rapidamente per i modelli più grandi. Mi piace anche l'idea di copiare lo script gp come snippet.
om_henners,

Non ci avevo pensato per i mapping dei campi. Dovrò provarlo.
Jay Guarneri,

1
+1 questo è sempre un buon trucco, soprattutto se è necessario, ad esempio, imparare come integrare la sintassi riclassificata nel proprio script.
Aaron

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.