Описание нескольких утилит для быстрой конвертации и обработки растровых данных в 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
Автор(ы): Максим Дубинин
© GIS-Lab и авторы, 2002-2021. При использовании материалов сайта, ссылка на GIS-Lab и авторов обязательна. Содержание материалов - ответственность авторов. (подробнее).