GIS-LAB

Географические информационные системы и дистанционное зондирование

Пакетный импорт растровых данных в GRID и их обработка с помощью Arcinfo Workstation

Описание нескольких утилит для быстрой конвертации и обработки растровых данных в Arcinfo Workstation

Обсудить в форуме Комментариев — 1

Введение

Быстро импортировать растровые данные в форматах TIF, BSQ/BIL/BIP и др. в формат GRID используемый для анализа и расчетов в Arcinfo, Arcview, ArcGIS и провести некоторую их обработку можно с помощью набора пакетных скриптов запускаемых в Arcinfo Workstation. Скрипт создает список подходящих файлов, над которыми потом осуществляет необходимый набор операций. Arcinfo Workstation является непревзойденным по скорости работы и надежности программным обеспечением, идеально подходящим для решения такого рода задач.

Все растровые файлы (любое их количество) в форматах BIL или TIF должны лежать в одной директории.

Для всех скриптов приведенных ниже необходимо указывать название директории в которой лежат исходные файлы - input, и название директории куда скрипт должен складывать результат операции - output. Если не указать название выходной директории (output) скрипт будет использовать в качестве конечной директории - исходную, то есть ту, где лежат исходные файлы. Для задания выходной директории можно использовать относительные пути (в этом случае они будут относительны директории с исходными файлами). Например: если исходная директория c:\work\, то, указав в качестве конечной result\ результаты операций будут складываться в папку c:\work\result\. И исходная и выходная директории должны оканчиваться на обратную косую черту \.

Запуск Arcinfo и установка рабочей директории

Для того, чтобы запустить Arcinfo Workstation необходимо либо ввести arc в меню Start\Run... (Пуск\Запустить...) операционной системы, либо выбрать Start\Programs\ArcGIS\ArcInfo Workstation\Arc из того же меню. После того, как откроется консоль Arcinfo, в нее нужно будет вводить необходимые команды приведенные ниже. Перед началом работы, рекомендуется установить рабочую директорию равную той, в которой располагаются скрипты, которые нужно выполнить. Это можно сделать с помощью команды &workspace:

&workspace c:\work\myscripts\

Чтобы убедиться, что команда была выполнена правильно, просто введите w в консоль, после этого Arcinfo выдаст сообщение примерно следующего содержания: Current location: c:\work\myscripts где в качестве пути должен будет стоять тот путь, который был указан команде &workspace.

w

Рекомендуем хранить все скрипты в одной директории, так будет легче их запускать один за другим.

Скрипты

Для начала работы нужно с данными, как правило нужно сначала выполнить скрипт image2grid.aml, который сконвертирует растровые файлы в одноименные файлы в формате GRID:

&run image2grid.aml input output
или
&run image2grid.aml c:\work\ d:\result\

А затем, если формат исходных растров 16-битный со знаком (signed 16 bit), то после импорта необходимо осуществить дополнительную операцию коррекции данных с помощью скрипта con2.aml:

&run con2.aml input output
или
&run con2.aml c:\work\ d:\result\

Результатом работы данного скрипта будет новый набор файлов в формате GRID, с приставкой "c" к названию каждого файла, файлы в формате GRID полученные в результате предыдущей операции (первичный импорт) будут удалены.

Другой распространненной операцией является экспорт данных из формата GRID в формат BIL, эта операция осуществляется в пакетном режиме осуществляется с помощью grid2bil.aml. Файлы в формате BIL могут понадобится для загрузки для анализа в TIMESAT (ссылка).

&run grid2bil.aml input output
or
&run grid2bil.aml c:\work\ ..\result\

Также может понадобится установить определенные значения равными NODATA, для данных дистанционного зондирования, например, часто используют некое отрицательное число для границы изображения - не несущего информации. Обычные растровые форматы (TIF, BIL и другие) не имеют возможность хранить значение NODATA, формат GRID - может. Для того, чтобы назначить одному или диапазону значений значение NODATA можно использовать setnull.aml.

&run setnull.aml input output
or
&run setnull.aml c:\work\ d:\result\

Для того, чтобы обнулить нужные значения, необходимо отредактировать в любом текстовом редакторе следующую строчку скрипта, подставив вместо <= - 3000 нужные значения и изменив, при необходимости, условие. Например так: %current% == -3000.

Результатом работы данного скрипта будет новый набор файлов в формате GRID, с приставкой "z" к названию каждого файла, файлы в формате GRID полученные в результате предыдущей операции (первичный импорт) будут удалены.

%output% = setnull(%current% <= -3000, %current%)
или
%output% = setnull(%current% == -3000, %current%)
или
%output% = setnull(%current% <= -3000 and %current% >= -5000, %current%)

Для того, чтобы обрезать полученные растры по заданному контуру, можно использовать скрипт clip-all.aml. Для работы с ним понадобится покрытие содержащее объект по которому будет производится обрезка растров. Покрытие может лежать в той же директории, что и исходные файлы, в этом случае достаточно в строке запуска скрипта просто указать его название (в данном случае - clipcover), если покрытие находится в другой директории, необходимо указать полный путь к нему.

&run clip-all.aml clipcover input output
или
&run clip-all.aml clipper c:\work\data\ ..\result\

Если покрытие обрезки находится в другой директории, необходимо указать полный путь к нему. Например так:

&run clip-all.aml c:\temp\clipcover input output
или
&run clip-all.aml c:\temp\clipcover c:\work\data\ ..\result\

В результате многочисленных операций, получившиеся файлы могут иметь довольно трудночитаемые имена. Чтобы пакетно их изменить, можно использоваться скрипт rename.aml:

&run rename.aml sourcedir findstr replacestr
or
&run rename.aml c:\work\data\ znc

При запуске этого скрипта необходимо указать исходную директорию - sourcedir, findstr - текст который найти в названии GRID, replacestr - текст на который надо заменить искомый текст, этот параметр может быть пропущен, тогда искомая подстрока будет просто удалена из названия GRID.

Скрипты достаточно легко модифицировать для осуществления других пакетных операций с данными.

Скачать скрипты: image2grid.aml, con2.aml, grid2bil.aml, setnull.aml, grid2bil.aml, clip-all.aml.

Обсудить в форуме Комментариев — 1

Последнее обновление: September 09 2021

Дата создания: 08.08.2006
Автор(ы): Максим Дубинин