Назначение системы координат в пакетном режиме в ERDAS IMAGINE
по адресу http://gis-lab.info/qa/batch-cs-erdas.html
Пример работы с пакетным процессором ERDAS IMAGINE.
Интерфейс пакетных операций ERDAS IMAGINE предоставляет достаточно удобный и производительный способ осуществления некоторых операций.
В этой статье, на примере данных ASTER\Terralook мы демонстрируем каким образом осуществляется автоматизация в ERDAS IMAGINE с помощью интерфейса пакетных операций. В данной статье мы решаем задачу назначения («прописывания») системы координат данным, в которых по-умолчанию она не прописана, что не позволяет, например, пакетно перепроектировать данные в ERDAS IMAGINE в другую систему координат. По аналогии с демонстрированным примером можно автоматизировать и множество других задач в ERDAS IMAGINE, точнее все другие задачи, имеющие в интерфейсе кнопку «Batch», а так же скрипты инструмента моделирования и многое другое (об этом в других статьях).
Итак, для начала, пропишем необходимую систему координат одному из снимков, для этого вызовем окно Image command: «Tools → Image command tool» и откроем один из файлов для которых нужно прописать систему координат.
Дальше, укажем необходимые параметры:
Change map model\Options, Projection: Geographic (Lat/Lon), Units: Degrees (точнее они выберутся сами автоматически).
Change map projection\Options, Categories: Geographic, Projection: Lat/Lon (WGS 1984)
После того, как все параметры указаны, можно нажать «Ok», но тогда операция будет выполнена только для конкретного файла, мы же хотим выполнить ее для сотен других, поэтому нажимаем «Batch».
В появившемся окне Batch command выбираем «Modify commands automatically», так как опция по умолчанию («Use commands as they are») не позволит нам внести необходимые изменения и выполнит команды как они есть. После нажатия next появится интерфейс для модификации нашей пакетной команды:
Появится следующее выражение команды для пакетного процесса:
imagecommand '$(Input)' -map 4.6664583370726461e+001 4.7056636014961327e+001 1.9686899999999999e-004 1.3500000000000000e-004 degrees 'Geographic (Lat/Lon)' -projection c:/gis/arcview3/.imagine900/projections/geographic.plb 'Lat/Lon (WGS 84)' -meter imagecommand
Обратите внимание на цифры выделенные жирным, они соответствуют широте и долготе верхнего левого угла снимка, который был использован в качестве образца, само собой разумеется, что эти параметры нельзя использовать для всех снимков, так как координаты верхних левых углов у них все время разные, чтобы обойти это ограничение, заменим эти константы на переменные.
Для этого, в окне Batch commands выделяем первую константу (долготу) с помощью мыши и выбираем в списке после списка со значением Input переменную Ulx, и нажимаем на кнопку заменить («Replace current argument with the variable») тоже самое делаем для второй константы (широта), заменяем ее на Uly. Выражение должно принять следующий вид:
imagecommand '$(Input)' -map $(Input.Ulx) $(Input.Uly) 1.9686899999999999e-004 1.3500000000000000e-004 degrees 'Geographic (Lat/Lon)' -projection c:/gis/arcview3/.imagine900/projections/geographic.plb 'Lat/Lon (WGS 84)' -meter imagecommand
Если используются изображения с разным разрешением, то также можно заменить на переменные и его, сделав выражение еще более универсальным, для этого нам понадобятся переменные CellWidth и CellHeight соответственно:
imagecommand '$(Input)' -map $(Input.Ulx) $(Input.Uly) $(Input.CellWidth) $(Input.CellHeight) degrees 'Geographic (Lat/Lon)' -projection c:/gis/arcview3/.imagine900/projections/geographic.plb 'Lat/Lon (WGS 84)' -meter imagecommand
Важно, чтобы переменные были отделены друг от друга и других параметров пробелами, иначе операция выполнена не будет.
После того, как выражение приняло универсальный вид, можно перейти на следующую страницу окна Batch commands (Next >) и нажав на кнопку («Select files to add») добавить остальные файлы, по маске (закладка Multiple file selection) или по одиночке.
В следующем окне выбираем немедленное выполнение процесса (Start processing Now) и нажимаем на кнопку Finish.
Естественным вопросом будет "как использовать эту операцию еще раз?". Можно повторить все шаги перечисленные выше, но проще всего - сохранить окончательную пакетную команду в текстовый файл с расширением *.bcf с помощью кнопки Save commands to a file... В следующий раз нужно будет просто загрузить его с помощью опции меню Sessions\Open Batch command file... и указать новый набор файлов для обработки (пример подобного файла). Имейте в виду, что для корректной работы этого скрипта путь к файлу plb, содержащего описание систем координат, должен быть правильным.