IDL es un fantástico lenguaje de programación independiente (no necesita ENVI). Particularmente me gusta para el procesamiento matricial muy rápido en matrices grandes. @Aaron hace que IDL suene mucho menos flexible de lo que realmente es. La mayoría del desarrollo de IDL provino de las comunidades de Física y Astronomía. Existe un sólido soporte para la programación matemática y estadística. Si se incluye con ENVI, tiene todas las llamadas a la biblioteca (funciones) disponibles en ENVI, incluido el soporte para objetos vectoriales espaciales. También hay una gran cantidad de funciones y modelos desarrollados por la comunidad de usuarios. Una ventaja de aprender IDL es que lo hará comercializable en tiendas "analíticas" de teledetección.
Además, no olvide que ERDAS tiene un lenguaje de script (EML) que es bastante bueno y fácil de aprender. EML es la columna vertebral del modelador gráfico y los gmd son scripts EML empaquetados que se encuentran debajo de la interfaz del modelador gráfico. La ventaja de usar EML directamente es que puede usar bucles for / while y tener acceso a más funciones ERDAS en un lenguaje de script.
MATLAB también es muy bueno para el procesamiento matricial y hay versiones de código abierto (por ejemplo, Octave) que tienen exactamente la misma sintaxis con puntos de referencia similares. Este es un lenguaje muy flexible con un poder considerable. Es uno de los idiomas preferidos para la matemática aplicada y la ingeniería.
Las alternativas de Python NumPy y SciPy son flexibles pero no tan optimizadas como IDL y MATLAB. Como tal, debe lidiar con el espacio y la velocidad de direccionamiento cuando trabaje con matrices grandes. Una gran ventaja de Python son las bibliotecas adicionales para realizar una variedad de tareas analíticas. Hay paquetes para sensores remotos , estadísticas no paramétricas , enlaces a clases espaciales (por ejemplo, GDAL, LibLAS) para nombrar solo algunas de las funcionalidades adicionales disponibles a través de paquetes.
Esto nos lleva a R. Soy principalmente un estadístico espacial, así que este es mi lenguaje cotidiano. La cantidad de paquetes disponibles es asombrosa, lo que, a su vez, brinda acceso a metodologías estadísticas de vanguardia entre disciplinas. Sin embargo, debo decir que es muy engorroso cuando se trata de grandes problemas de datos. Las clases espaciales están mejorando mucho y debido a que el paquete ráster proporciona la capacidad de mantener grandes datos fuera de la memoria, ahora puedo implementar algunos modelos estadísticos bastante complejos que utilizan grandes matrices ráster. Pero aún así, R es lento cuando se trata de grandes problemas de memoria. El paquete BigMatrix permite escribir y procesar grandes matrices desde el disco, pero la sobrecarga de codificación no es insignificante. También hay enlaces al software GDAL y GIS (por ejemplo, GRASS, SAGA) que permiten que el procesamiento de objetos espaciales ocurra fuera de R en un software SIG específico, que es cómo interactúo con el software SIG en estos días. Esto me permite aprovechar la funcionalidad en múltiples programas sin salir de R.
Entonces, ahora que el software de animación está fuera del camino, mi recomendación es "sí a todas las opciones anteriores". La programación es una habilidad que, una vez que se aprende, se aplica fácilmente a otros idiomas. Hay sorprendentes similitudes entre C ++, R, IDL y Python. Además de algunas idiocentricidades de codificación, lo que uno debe aprender son las funciones disponibles para implementar un modelo / tarea dada. Una vez hecho esto, es solo una cuestión de sintaxis que implementa estructuras de codificación comunes.
A veces hay cosas que simplemente funcionan mejor en un software o idioma diferente. Ocasionalmente escribo código en FORTRAN o C ++ porque es la mejor opción para una tarea determinada. Es una cuestión de adaptabilidad. Es posible que desee comenzar con Python porque, como lenguaje de secuencias de comandos, se puede aplicar a numerosas tareas, también proporciona disponibilidad de paquetes para análisis especializados, tiene una serie de recursos en línea gratuitos y es algo fácil de aprender.