IDL è un fantastico linguaggio di programmazione autonomo (non è necessario ENVI). Mi piace la particolarità per l'elaborazione della matrice molto veloce su array di grandi dimensioni. @Aaron rende il suono IDL molto meno flessibile di quanto non lo sia in realtà. La maggior parte dello sviluppo di IDL è venuto dalle comunità di fisica e astronomia. Esiste un solido supporto per la programmazione matematica e statistica. Se in bundle con ENVI, tutte le chiamate (funzioni) della libreria sono disponibili in ENVI incluso il supporto per oggetti vettoriali spaziali. Esiste anche un gran numero di funzioni e modelli sviluppati dalla comunità di utenti. Uno dei vantaggi dell'apprendimento dell'IDL è che ti renderà commercializzabile nei negozi di rilevamento remoto "analitici".
Inoltre, non dimenticare che ERDAS ha un linguaggio di scripting (EML) che è abbastanza buono e facile da imparare. EML è la spina dorsale del modellatore grafico e i GMD sono solo script EML impacchettati che si trovano sotto l'interfaccia del modellatore grafico. Il vantaggio dell'utilizzo diretto di EML è che puoi utilizzare per / mentre loop e avere accesso a più funzionalità ERDAS in un linguaggio di scripting.
MATLAB è anche ottimo per l'elaborazione della matrice e ci sono versioni open source (ad esempio Octave) che hanno esattamente la stessa sintassi con benchmark simili. Questo è un linguaggio altamente flessibile con notevole potere. È una delle lingue preferite per la matematica applicata e l'ingegneria.
Le alternative Python NumPy e SciPy sono flessibili ma non ottimizzate come IDL e MATLAB. Pertanto, è necessario occuparsi dello spazio e della velocità quando si lavora con array di grandi dimensioni. Un enorme vantaggio di Python sono le librerie aggiuntive per eseguire una varietà di attività analitiche. Esistono pacchetti per il telerilevamento , statistiche non parametriche , collegamenti a classi spaziali (ad esempio GDAL, LibLAS) per nominare solo alcune delle funzionalità aggiunte disponibili attraverso i pacchetti.
Questo ci porta a R. Sono principalmente uno statistico spaziale, quindi questo è il mio linguaggio quotidiano. Il numero di pacchetti disponibili è sbalorditivo e, a sua volta, fornisce accesso a metodologie statistiche interdisciplinari all'avanguardia. Tuttavia, devo dire che è molto ingombrante quando si affrontano problemi di dati di grandi dimensioni. Le classi spaziali stanno migliorando molto e grazie al pacchetto raster che fornisce la capacità di contenere grandi quantità di dati dalla memoria, ora sono in grado di implementare alcuni modelli statistici abbastanza complessi utilizzando grandi array raster. Tuttavia, R è lento quando si affrontano problemi di memoria di grandi dimensioni. Il pacchetto BigMatrix consente di scrivere ed elaborare enormi array dal disco, ma il sovraccarico della codifica non è insignificante. Esistono anche collegamenti al software GDAL e GIS (ad es. GRASS, SAGA) che consentono l'elaborazione di oggetti spaziali al di fuori di R in un software specifico GIS, che è il modo in cui interagisco con il software GIS in questi giorni. Questo mi permette di sfruttare la funzionalità su più software senza lasciare R.
Quindi, ora che la cheerleading del software è fuori mano, la mia raccomandazione è "sì a tutte le opzioni di cui sopra". La programmazione è un'abilità che, una volta appresa, è facilmente applicabile ad altre lingue. Ci sono sorprendenti somiglianze tra C ++, R, IDL e Python. A parte alcune idiocentricità di codifica, ciò che si deve imparare sono le funzioni disponibili per implementare un dato modello / compito. Una volta fatto ciò, è solo una questione di sintassi che implementa strutture di codifica comuni.
A volte ci sono cose che funzionano meglio in un software o una lingua diversi. Ogni tanto scrivo codice in FORTRAN o C ++ perché è la scelta migliore per un determinato compito. È una questione di adattabilità. Potresti voler iniziare con Python perché, come linguaggio di scripting, può essere applicato a numerose attività e fornisce anche la disponibilità di pacchetti per analisi specializzate, ha un numero di risorse online gratuite ed è in qualche modo facile da imparare.