Назначение системы координат в пакетном режиме в ERDAS IMAGINE

Материал из GIS-Lab
Версия от 10:41, 28 июля 2012; Voltron (обсуждение | вклад) (Новая страница: «{{Статья|Опубликована|batch-cs-erdas}} {{Аннотация|Пример работы с пакетным процессором 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 (точнее они выберутся сами автоматически).

Batch-cs-erdas-05.gif

Change map projection\Options, Categories: Geographic, Projection: Lat/Lon (WGS 1984)

Batch-cs-erdas-06.gif

После того, как все параметры указаны, можно нажать «Ok», но тогда операция будет выполнена только для конкретного файла, мы же хотим выполнить ее для сотен других, поэтому нажимаем «Batch».

В появившемся окне Batch command выбираем «Modify commands automatically», так как опция по умолчанию («Use commands as they are») не позволит нам внести необходимые изменения и выполнит команды как они есть. После нажатия next появится интерфейс для модификации нашей пакетной команды:

Batch-cs-erdas-01.gif

Появится следующее выражение команды для пакетного процесса:

 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, и нажимаем на кнопку заменить Batch-cs-erdas-02.gif («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 >) и нажав на кнопку Batch-cs-erdas-04.gif («Select files to add») добавить остальные файлы, по маске (закладка Multiple file selection) или по одиночке.

Batch-cs-erdas-03.gif

В следующем окне выбираем немедленное выполнение процесса (Start processing Now) и нажимаем на кнопку Finish.

Естественным вопросом будет "как использовать эту операцию еще раз?". Можно повторить все шаги перечисленные выше, но проще всего - сохранить окончательную пакетную команду в текстовый файл с расширением *.bcf с помощью кнопки Save commands to a file... В следующий раз нужно будет просто загрузить его с помощью опции меню Sessions\Open Batch command file... и указать новый набор файлов для обработки (пример подобного файла). Имейте в виду, что для корректной работы этого скрипта путь к файлу plb, содержащего описание систем координат, должен быть правильным.

Ссылки по теме