|
|||||||||||||||||||||||||||||||||
Содержание
Язык EASI отличается чрезвычайной простотой выполнения арифметических и логических операций над растровыми данными. Для выполнения расчетов с использованием нескольких растров, необходимо, что бы изображения были собраны в один файл PCIDSK. Для проведения расчетов дополнительные каналы данных из других файлов можно временно привязать к рабочему файлу с помощью команды PCIADD2 с опцией exist (см. предыдущую статью). Перед началом выполнения операций необходимо задать рабочий файл с помощью параметра file: При создании арифметических выражений ссылка на каналы данных обозначается %: Ссылка на растровые маски (сегменты) выглядит так: Примеры записи простых выражений: Возможна запись результата в исходный канал: Существует ряд дополнительных команд, которые можно использовать в арифметических выражениях: Пример использования функции: В случае, когда результат нужен только на время вычисления, можно использовать переменные. Переменные декларируются перед началом операции:
Если однотипную операцию надо провести над множеством каналов, можно использовать циклы:
Каналы 10-15 получат значения каналов 1-6, умноженных на 100. Для обозначения пространственных координат пикселя существует набор встроенных переменных, которые также бывает полезно использовать в расчетах: Описание простого условия в EASI выглядит так: Условие с записью результата в растровую маску (сегмент):
(Помните, что пиксели растровой маски принимают только значения 0 и 1) Выполнение действия только в пределах растровой маски:
Двойное условие:
Сложное условие:
Специальные команды для выполнения математических операций ARI – арифметические вычисления.
Использование команды ARI в цикле:
К значениям каналов 1-5 будет прибавлена константа 90. SCALE – применение линейных и нелинейных функций к значениям растра.
Дополнительный параметр sfunct позволяет задать тип функции для масштабирования - подробнее смотрите в справочной системе EASI. CLR – Очистка канала изображения.
Операции над растровыми масками BLO – Логические операции над растровыми масками.
Типы операций для масок a и b MAP – Копирование растровой маски в канал изображения.
THR – создание растровой маски по интервалу пороговых значений file=" (имя файла)
RANDBIT – простая команда для создания случайной выборки пикселей на основе существующей растровой маски. Подробнее смотрите в справочной системе EASI. Помимо прямого использования арифметических и логических операторов, вводимых из командной строки или записанных в виде скрипта, в EASI используется специальный язык моделей, сходный по синтаксису с самим EASI. Модели для выполнения записываются в файлы с расширением .mod и вызываются на выполнение командой MODEL:
file=" (имя файла)
В файле модели имя файла не указывается. Таким образом, одна и та же модель может быть применена к множеству файлов с одинаковым набором каналов. Основное отличие языка моделей от языка EASI – необходимость разделения строк точкой с запятой:
Запись условия:
Встроенные функции работают как в языке EASI:
Декларировать переменные в моделях не нужно. Скалярные переменные обозначаются знаком #:
Другой вариант использования модели: ввод модели из командной строки или из скрипта. Для этого перед началом записи модели введем выражение: model on " (имя файла) Далее поместим текст модели и завершим модель: endmodel ОБРАТИТЕ ВНИМАНИЕ: если модель вводиться таким образом из командной строки или в скрипте, использование точке с запятой в конце строки не допускается! Создание фильтров на языке EASI основано на использовании специальных переменных, определяющих координаты пикселя в единицах растра: @x, @y (см. выше). Запись фильтра, вычисляющего среднее значение канала 4 в плавающем окне 3х3 пикселя выглядит так: model on “(имя файла)
Фильтры, заданные таким образом, корректно обрабатывают края изображения, дублируя значения из области растра за пределы изображения. Существует набор специальных команд для выполнения стандартных операций фильтрации: FAV – Вычисление среднего в плавающем окне. file=" (имя файла)
FME - Вычисление медианы в плавающем окне. file=" (имя файла)
FED – Фильтр для обнаружения границ (edge detection). Вычисляет среднее модулей разности значений пикселей окна с центральным пикселем. file=" (имя файла)
FMO – Вычисление моды. Этот фильтр аналогичен majority filter в ERDAS Imagine. file=" (имя файла)
Существуют два дополнительных полезных параметра этой команды:
При использовании фильтра 3х3 значение "on" (по умолчанию) означает, что вычисление моды будет производиться только тогда, когда число пикселей класса, которому принадлежит центральный пиксель окна, меньше 3. Это позволяет при фильтрации тематических карт сохранять линейные объекты.
Значения классов, фильтрация которых не производиться. Дополнительные команды фильтрации (описание команд смотрите в справочной системе EASI): HIS – Графический вывод гистограммы значений по каналу. file=" (имя файла)
Существует несколько дополнительных параметров, настраивающих вид гистограммы. Описание дополнительных параметров команды смотрите в справочной системе EASI. Помимо графического или табличного представления гистограммы значений, будет выведено среднее, медиана, мода, максимум и минимум значений, а так же число пикселей, использованных для расчета. Поскольку формат вывода стандартный, результаты вывода в файл могут быть обработаны простыми программами для создания таблиц значений. Пример обработки файлов с использованием программ на языке PERL приведен в 4-ой статье. HISDUMP – Вывод гистограммы значений в виде таблицы. file=" (имя файла)
Значения параметра hisform определяют формат таблицы: Векторные данные обычно хранятся внутри рабочих файлов PCIDSK в виде сегментов. Для этого проекция вектора должна совпадать с проекцией растровой базы данных. Если Вы импортировали векторный файл в PCIDSK из формата shp, скажем, в географических координатах, то для переноса векторного сегмента в рабочий растровый файл его надо спроецировать командой VECPRO: VECPRO – Изменение проекции векторных сегментов.
Программа произведет трансформацию на основе сегментов привязки файлов. GRDPOL – Растеризация полигональных векторных данных. filv=" (имя файла с векторным сегментом. Если сегмент находится в рабочем файле, параметр не заполняем)
(Обратите внимание, что, если номер выходного канала не задан, будет создано новый растровый сегмент и произведена растризация в него. При этом значения поля учитываться не будут.) KRIGING – Интерполяция точечных векторных данных (смотрите в справочной системе EASI) RTV – Векторизация растровых данных. file=" (рабочий файл)
Дополнительные команды (описание команд смотрите в справочной системе EASI): Краткий перечень специальных команд анализа изображений Преобразование изображений Работа с ЦМР (DEM) Пространственная статистика Кластеризация Классификация Обсудить в форуме (Комментариев - 0)
Последнее обновление: August 15 2007 |
© GIS-Lab и авторы, 2002-2008. При использовании материалов сайта, ссылка на GIS-Lab и авторов обязательна.
|
|
||
|
Если Вы обнаружили на сайте ошибку, выберите фрагмент текста и нажмите Ctrl+Enter (?) |
|
|
|
Декоративная тонкослойная минеральная штукатурка.; удаление миндалин, полипы; Уплотнитель: уплотнитель днем и ночью.; Продажа самолетов: продажа самолетов лучшего качества.; Защитные очки: защитные очки для любого бюджета. |