IDL - це фантастична окрема мова програмування (ENVI не потрібен). Мені це подобається за дуже швидку обробку матриць на великих масивах. @Aaron робить звук IDL набагато менш гнучким, ніж він є насправді. Більшість розробок ІДЛ припадає на громаду фізики та астрономії. Існує міцна підтримка математичного та статистичного програмування. Якщо в комплекті з ENVI, у вас є всі бібліотечні виклики (функції), доступні в ENVI, включаючи підтримку просторових векторних об'єктів. Також існує велика кількість функцій та моделей, розроблених спільнотою користувачів. Однією з переваг навчання IDL є те, що це зробить вас проданими в "аналітичних" магазинах дистанційного зондування.
Крім того, не забувайте, що ERDAS має мову сценаріїв (EML), яку досить добре і легко вивчити. EML є основою графічного моделера, а gmd - це лише упаковані сценарії EML, які знаходяться під інтерфейсом графічного моделера. Перевага використання EML безпосередньо полягає в тому, що ви можете використовувати для / while циклів і мати доступ до більшої функції ERDAS на мові сценаріїв.
MATLAB також дуже хороший для матричної обробки, і є версії з відкритим кодом (наприклад, Octave), які мають абсолютно однаковий синтаксис з подібними орієнтирами. Це надзвичайно гнучка мова, яка має значну потужність. Це одна з бажаних мов для прикладної математики та техніки.
Альтернативи Python NumPy та SciPy гнучкі, але не такі оптимізовані, як IDL та MATLAB. Таким чином, вам потрібно мати справу з простором та швидкістю при роботі з великими масивами. Однією з величезних переваг Python є додаткові бібліотеки для виконання різноманітних аналітичних завдань. Існують пакети для дистанційного зондування , непараметричної статистики , прив’язки до просторових класів (наприклад, GDAL, LibLAS), щоб назвати лише деякі додаткові функції, доступні через пакети.
Це приводить нас до Р. Я в першу чергу просторовий статистик, тому це моя щоденна мова. Кількість доступних пакетів є приголомшливою, що, в свою чергу, забезпечує доступ до передових міждисциплінарних статистичних методологій. Однак я мушу сказати, що це дуже громіздко при роботі з великими проблемами даних. Просторові класи стають набагато кращими, і завдяки растровому пакету, що забезпечує можливість зберігання великих даних у пам'яті, я зараз в змозі реалізувати досить складні статистичні моделі, що використовують великі растрові масиви. Але все-таки R повільно працює при великих проблемах з пам'яттю. Пакет BigMatrix дозволяє записувати та обробляти величезні масиви з диска, але накладні витрати кодування несуттєві. Також існують прив'язки до програмного забезпечення GDAL та GIS (наприклад, GRASS, SAGA), які дозволяють просторовій обробці об’єктів здійснюватися поза межами R в специфічному програмному забезпеченні для ГІС, саме таким чином я сьогодні взаємодію з програмним забезпеченням GIS. Це дозволяє мені використовувати функціональність для декількох програм, не залишаючи Р.
Отже, тепер, коли програмне забезпечення вболівальників не виходить, моя рекомендація - «так, для всіх перерахованих вище варіантів». Програмування - це навик, який, як тільки засвоївшись, легко застосовується до інших мов. Існує разюча подібність між C ++, R, IDL та Python. Крім деяких ідіоцентричних характеристик кодування, те, що потрібно вивчити, - це доступні функції для реалізації заданої моделі / завдання. Після цього це просто питання синтаксису, який реалізує загальні структури кодування.
Іноді є речі, які просто краще працюють в іншому програмному забезпеченні чи мові. Я інколи пишу код у FORTRAN або C ++, тому що це просто найкращий вибір для даного завдання. Це питання адаптованості. Ви можете почати з Python, тому що, як мова сценаріїв, вона може застосовуватися до численних завдань, вона також забезпечує доступність пакетів для спеціалізованого аналізу, має ряд безкоштовних онлайн-ресурсів і її легко вивчити.