Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ODDZ_metodichka.pdf
Скачиваний:
49
Добавлен:
06.03.2016
Размер:
1.53 Mб
Скачать

принадлежность какому-либо определенному классу, например, пикселы класса “Grass” (Трава) на одном изображении принадлежат классу “Agriculture” (Агрокультуры) на другом изображении?

Требования к содержанию и оформлению отчета

Отчет должен быть продемонстрирован на бумажном носителе, содержащем титульный лист, цель работы, задание работы, краткие теоретические сведения, практическую часть (описание проделанных упражнений с графическими иллюстрацмиями процесса дешифрирования космических снимков), выводы по проделанной работе.

Критерии результативности выполнения работы

Результаты лабораторной работы считаются удовлетворительными если студенты:

1.Выполнили практическую часть лабораторной работы и в соответствии с заданием представили отчет, соответствующий требованиям;

2.Приобрели навыки работы с функциями классификации в программном продукте Erdas Imagine;

3.Ответили на все контрольные вопросы.

112

ЛАБОРАТОРНАЯ РАБОТА № 5. ОБРАБОТКА РАДИОЛОКАЦИОННЫХ ИЗОБРАЖЕНИЙ И

ПРОСТРАНСТВЕННОЕ МОДЕЛИРОВАНИЕ В ПРОГРАММНОМ ПРОДУКТЕ ERDAS IMAGINE.

1 ЦЕЛЬ РАБОТЫ

Целью работы является:

знакомство студентов с обработкой радиолокационных изображений в Erdas Imagine;

привитие студентам навыков пространственного моделирования в программном продукте Erdas Imagine.

Задачей работы является:

изучение студентами инструментов Erdas Imagine и приемов обработки радиолокационных изображений;

закрепление изученного теоретического материала по созданию пространственных моделей в программном продукте Erdas Imagine.

2 ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ Ультракороткий радиодиапазон может использоваться в

активной радиолокации. На носители устанавливается активный источник радиоизлучения с антенной, действующей по принципу просмотра местности поперек линии маршрута. Посылаемый на Землю радиосигнал по-разному отражается поверхностью и улавливается регистрирующей аппаратурой. Из таких сигналов формируются радиолокационные снимки, на которых отображается шероховатость поверхности, ее микрорельеф, особенности и состав пород.

При размерах неровностей поверхности меньше полудлины волны поверхность объекта для радиоволн как бы гладкая («зеркалит») и изображается на радиолокационных снимках наиболее темным тоном (песчаные пляжи, солончаки, гладкая водная поверхность). При размере неровностей больше полудлины волны происходит рассеивание и диффузное отражение энергии, зависящее от величины неровностей, их формы, ориентировки по отношению к

113

радиолучу. Они изображаются серым тоном разной плотности. Растительность увеличивает поглощение радиоволн и изображается светлым тоном. Такое радиолокационное зондирование ведут, используя волны сантиметрового диапазона. Генерируя волны разной длины, можно получать информацию об объектах на некоторой глубине. Радиолокаторы подповерхностного зондирования работают в диапазоне от 1 до 30 м. Они обнаруживают подповерхностные неоднородности грунтов. Например, в диапазоне 0.5-1 м фиксируются пресные грунтовые воды в песках на глубине до 20 м.

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

Орторектификация, или ортотрансформирование (orthorectification, orthotransformation, orthofototransformation) - устранение на изображении геометрических искажений, вызванных рельефом. На радиолокационных снимках искажения, обусловленные рельефом, проявляются в изменении длин склонов в зависимости от угла визирования, что приводит к трудноустранимым эффектам перспективного сокращения - "дорожки" (layover) и радиотеней. Радиометрическая, или спектральная коррекция (radiometric correction, spectral correction) - исправление яркости изображения для обеспечения радиометрической сопоставимости данных многозональных и многовременных съемок.

Пассивная и активная радиолокационная съемка - всепогодные, из-за абсолютной прозрачности атмосферы для волн этого диапазона. Она может производится ночью, при облачности, дожде, тумане. И в оперативном режиме передаваться информация.

В Erdas Imagine для обработки радиолокационных снимков исползуется модуль расширения Radar. В этом модуле сосредоточены специфические методы, используемые для работы с радиолокационными снимками. Это прежде всего набор методов предварительной обработки (коррекции) радарных снимков, учитывающих особенности их геометрических и радиометрических характеристик:

яркостная коррекция, оценивающая удаление объектов;

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

114

геометрических искажений, связанных с наклоном луча зрения;

∙ подавление специфических шумов, в частности спекл-шума (пятнистости), связанного с эффектами интерференции отраженного когерентного излучения.

Имеются и другие функции обработки изображения, позволяющие улучшить качество радарных снимков с учетом их специфики (анализ текстур, специальные адаптивные фильтры и т.п.). Модуль работает также с данными съемок LANDSAT и SPOT, используя фотограмметрические модели этой съемочной аппаратуры.

Существует пассивная и активная радиолокация. Особенности пассивной радиолокации:

микроволновая радиометрическая съёмка;

регистрация микроволнового излучения объектов – т.н. радиояркостных температур;

построение микроволновых радиометрических снимков;

объекты отображаются неодинаково, в соответствии с собственными излучательными свойствами;

радиометры SMMR на спутниках серии NIMBUS. Активная радиолокация

Ключевой элемент при активной радиолокации – антенна

радиолокатора. RAR – радар с реальной апертурой. Разрешение изображения зависит от размера антенны. SAR – радар с синтезированной апертурой. Искусственно имитируемая антенна.

3 МЕТОДИКА ВЫПОЛНЕНИЯ РАБОТЫ

3.1 Упражнение 1. Подавление спекл-шумов (Speckle Suppression)

Цель упражнения: используя алгоритм подавления спекл-шумов (Speckle Suppression) обработать радиолокационное изображение. Задание 1 Вычислить коэффициент вариации (шаги 1-2)

Задание 2 Трижды использовать процедуру фильтрации для радиолокационного изображения (шаги 3-10)

Задание 3 Отобразить во Вьюере и сравнить результаты подавления спекл-шумов (шаги 11-12)

Входные данные: filevolandradar.img

115

Выходные данные: три изображения со значительно сниженным влиянием спекл-шумов

Инструменты: инструментарий для подавления спекл-шумов (Speckle Suppression), размещение Вьюеров мозаикой

1.На Главной Панели IMAGINE выберите Radar | Suppression (Радиолокационные данные | Подавление спекл-шумов). Введите имя входного файла (Input File) - filevolandradar.img. Не создавайте выходной (Output) файл, но отметьте опцию Calculate Coefficient of Variation (Вычислить коэффициент вариации). Нажмите ОК.

2.В меню Главной Панели выберите Session | Session Log (Журнал). В журнале вы можете получить значение Sigma.

Ответьте на вопрос 1.

3.Еще раз щелкните кнопку Radarи вновь откройте диалог Speckle Suppression. Введите filevolandradar.img в строке имени входного файла (InputFile). Для выходного файла (Output File) введите

храss01.img

4.Теперь добавьте значение Sigma, найденное во втором шаге, в редактируемое поле Coefficient of Variation (Коэффициент вариации). Выберите фильтр Lee-Sigma и добавьте следующую информацию из первой строки приведенной ниже таблицы. Когда вы закончите ввод всей информации, нажмите ОК.

 

 

 

Таблица 3.1

Раss

Sigma Value

Sigma

Window Size

 

 

Multiplier

 

1

0.296725

0.5

3

2

0.219972

1

5

3

0.130959

2

7

Внимание!

Значение Sigma, приведенное выше, мы оставляем неизменным в каждом преобразовании, хотя в реальности это значение может

116

слегка уменьшается. Использование этих динамических значений позволит фильтру "настраиваться" на разные значения коэффициента вариации.

5.Загрузите во Вьюер только что созданный Вами файл храss01.img.

6.Вернитесь к меню работы с радарными данными и еще раз

вызовите опцию Speckle Suppression (Подавление спекл-шумов). Как входной файл (InputFile) используйте храss01.img, для выходного файла (Output File) введите имя храss02.img.

7.В поле Coefficient of Variation вы можете добавить ранее полученное значение Sigma или можно вычислить новое значение. Выберите фильтр Lee-Sigma и добавьте остальную информацию из второй строки вышеприведенной таблицы. Когда вы введете всю информацию, нажмите ОК.

8.Откройте второй Вьюер и загрузите в него только что созданное изображение храss02.img

9.Вернитесь к меню Radar и вновь выберите Speckle Suppression (Подавление спекл-шумов). Как входной файл используйте храss02.img, а выходной файл назовите храss03.img

10.Вы снова можете использовать значение Sigma вычисленное во втором шаге - добавьте его в поле Coefficient of Variation. Вновь выберите фильтр Lee-Sigma и добавьте информацию из третьей строки таблицы. По окончании ввода информации, нажмите ОК.

Ответьте на вопрос 2.

11.Загрузите в третий открый Вьюер результат последовательной фильтрации - файл храss03.img. Откройте еще один, четвертый Вьюер и выведите в него исходное радарное изображение filevolandradar.img.

12.В меню Главной Панели Imagine выберите Session | Tile Viwers (Расположить мозаикой Вьюеры на экране). Визуально сравните результаты фильтрации и исходное изображение. Можете также просмотреть гистограммы всех 4-х изображений (Это можно сделать через утилиту Image Info).

Ответьте на вопрос 3.

3.1.2 Контрольные вопросы

117

1.Каково значение Sigma для изображения flevolandradar.img и каким образом оно было вычислено?

2.Почему коэффициент вариации увеличивается с каждым преобразованием фильтрации?

3.Результат какой из выполненных фильтраций можно считать наиболее оптимальным - наилучшим образом сочетающим в себе понижение спекл-шумов с достаточной четкостью границ?

3.2Упражнение 2. Слияние изображений, полученных разными Сенсорами (Sensor Merge)

Цель упражнения: выполнить слияние радарных данных с данными Landsat ТМ, чтобы получить изображение с высоким пространственным и спектральным разрешением.

Задание 1

Выберите входные данные, задайте параметры

 

функции Sensor Merge, и назовите выходное

Задание 2

изображение (шаги 1-4)

Выровняйте контраст выходного изображения (шаги

Задание 3

5-7)

Сравните созданное изображение с двумя исходными

 

снимками (шаги 8-9)

Входные данные: amazon_Lband.img, amazon_TM.img

Выходные данные: изображение в IMG-формате, полученное путем слияния входных снимков.

Инструменты: Sensor Merge (Слияние изображений с разных сенсоров)

1.На Главной Панели Imagine выберите Radar Image Enhancement | Sensor Merge (Радарные данные | Улучшающие преобразования | Слияние снимков). Перед вами появится диалог Sensor Merge.

2.В этом диалоге укажите для Gray Scale Image (Полутоновое изображение) - входной файл с именем amazon_Lband.img, для многозонального снимка (MultiSpectralImage) выберите снимок Landsat_ ТМ - amazon_tm.img. Назовите выходной файл слияния xradar_merge.img.

3.Для радарного снимка используйте 3-й слой (Layer 3), как слой участвующий в слиянии. Выберите метод (Method) Главных

118

Компонент (Principal Component). Укажите в строке Resampling Technique (Способ вычисления значений пикселов) Bilinear Interpolation (Билинейная интерполяция). Для выходных опций (Output Options) отметьте Ignore Zeros (Игнорировать нули).

Ответьте на 1-й вопрос.

4.Теперь вы можете "сказать" ОК.

5.Откройте отдельный Вьюер, если он еще не открыт. Откройте во Вьюере изображение xradar_merge.img, используя сочетание синтеза RGB=4,3,2.

6.Поскольку изображение слишком темное, нужно изменить его контраст. В стоке меню Вьюера выберите Raster/Contrast/General Contrast (Основные преобразования контраста). Опция Histogram Equalization (Выравнивание гистограммы) "растянет" гистограмму таким образом, чтобы каждое значение пикселов получило такое же количество пикселов. Чтобы выполнить это преобразование контраста, нажмите Apply (Применить).

7.Выберите кнопку Breakpts (Точки излома функции преобразования контраста). Возможность просмотреть график этой кусочно-линейной функции и ее точки излома позволит вам увидеть, насколько отличаются участки данных, где гистограмма была "растянута". Ось У каждого графика представляет собой выходные "преобразованные" значения. Для каждого канала данных начальные выходные значения несколько высоковаты. Чтобы исправить это, нажмите кнопку Shit/Bias (Переместить/Настроить) и переместите весь график функции вниз по оси У, изменив параметр Bias до значения -20. Эта операция позволит улучшить контраст, расширив диапазон выходных значений. Внутри диалога Breakpoint Editor нажмите Apply All (Применить ко всем слоям). Закройте инструментарий преобразования контраста.

Ответьте на вопрос 2.

8.Теперь сравните изображение-результат слияния 2-х снимков, с оригинальными входными изображениями. Растяните окно Вьюера за нижний правый угол так, чтобы оно заняло весь экран. В меню Вьюера выберите View/Split/Split (Окно Вьюера /Разделить на

119

части). В диалоге Split Viwer введите 3, как количество окон (Number оf Windows). Нажмите ОК.

9.Во втором Вьюере откройте изображение amazon_Lband.img в третьем - amazon_tm.img.

Ответьте на вопросы 3-8.

3.2.2Контрольные вопросы

1.Какие преимущества использования билинейной интерполяции?

2.Влияет ли преобразование контраста на оригинальные значения пикселов файла изображения?

3.Почему разные углы изображения xradar_merge.img выглядят поразному?

4.Если увеличить (приблизить) изображение в районе малых рек, можно заметить, что они представлены 2-мя различными цветами. Почему?

5.На каком изображении лучше всего видно сухое русло реки (приблизительные координаты Х=791 517, У=9638501)?

6.На каком изображении легче всего распознается вырубка с координатами Х=775879, У9637934?

7.На каком изображении лучше всего дешифрировать дорогу (Х=782848, У=9639633)?

8.На изображении, полученном в результате слияния двух снимков, отчетливо проступили некие светло-коричневые области. Как вы думаете, что это за объекты?

3.3Упражнение 3. Модель размещения электростанции (Power Station Model)

Цель упражнения: используя ГИС-инструментарий (GIS Tools) и возможности графического моделирования (Spatial Modeler), выбрать подходящие места для расположения электростанции.

Задание 1 Создать графическую модель (шаги 1-3)

Задание 2 Определить входные слои: файлы уклонов (slope), линий электропередачи – ЛЭП (power), урбанизированных территорий (urban) и водных

120

объектов (water) (шаги 4-6)

Задание 3 Создать выражение, описывающее область поиска (Агеа to SEARCH) (шаги 7-9)

Задание 4 Задать критерии для результата (шаги 10-11)

Задание 5 Выполнить описанную ранее модель и получить результат (шаги 12-13)

Задание 6 Изменить опции цветовой схемы и прозрачности выходного слоя, используя редактор атрибутов (Attribute Editor) (шаги 14-19)

Задание 7 Отобразить во Вьюере изображение и наложить на него полученный буферный слой (шаг 20).

Рис 3.1

Входные данные: набор данных для района близ озера Lanier:

результат классификации и выделения водных объектов;

растровые изображения с выделенными урбанизированными территориями и с классификацией энергетических объектов и сетей (ЛЭП);

растровый файл с уклонами поверхности

Выходные данные: тематический слой, на котором выделены наиболее подходящие для электростанции места.

121

Инструменты: Набор средств графического моделирования (Spatial Modeler), Редактор атрибутов (Attribute Editor)

Модель основана на следующих критериях (рис 3.1):

Участок должен быть расположен не далее, чем на расстоянии 1 км от воды;

Участок не должен быть дальше, чем 1,5км от ЛЭП;

Уклон выбранного участка должен быть меньше 10 градусов.

1.На Главной Панели IMAGINE выберите Modeler| Model Maker (Инструментарий Графического моделирования | Редактор моделей). На экране появится новый лист для создания графической модели и набор инструментов.

2.На палитре выберите инструмент Raster Object (Растровый объект) и одиночным щелчком мыши поместите объект в левом верхнем углу окна блок-схемы модели. Повторите операцию, чтобы

разместить на блок-схеме шесть растровых объектов. После этого выберите инструмент Function (Функция) и расположите на блоксхеме два таких объекта. Теперь выберите инструмент Criteria (Критерии) и расположите на блок-схеме один такой объект.

3.Расположите элементы модели так, как показано на Диаграмме 1. Сначала разместите объекты, затем вернитесь к набору инструментов и нажмите кнопку Lock ("Захватить" инструмент), чтобы пользоваться только этим инструментом. Используйте инструмент Connect (Связать данные). Теперь свяжите объекты стрелками так, чтобы они начинались на исходных данных, а заканчивалась на результирующем объекте. Соедините все объекты так, как показано на диаграмме.

Если вы хотите создать аккуратно выровненную диаграмму, используйте флажок Model | Snap to Grid (Модель | Привязать графическую модель к сетке).

4.Вернитесь к инструментарию графического моделирования и выберите кнопку Select Objects (Выбрать объект). Дважды щелкните по первому растровому объекту и введите имя этого растрового файла (File Name) - Lnlakes.img .Нажмите ОК.

122

5.Дважды щелкните по 2-ому растровому объекту и введите имя этого растрового файла (File Name) – Lnput.img Нажмите ОК.

6.Дважды щелкните по 5-ому растровому объекту и введите имя входного файла – Lnslope.img. Нажмите ОК.

7.Дважды щелкните по объекту Function, расположенному под файлом Lnlakes.img. В открывшемся диалоге, в списке Functions (Функции) выберите категорию Distance(Расстояние, удаленность). Выберите первую функцию SEARCH из списка функций этой категории.

Ответьте на вопрос 1.

Используя мышь или клавиатуру, введите следующее выражение

(звездочки заменяют числа, которые обозначают порядок создания объектов; сами эти числа не влияют на работу модели, и на них можно не обращать внимание):

SEARCH ($n*_lnlakes, 33,1)

Удалите неиспользуемые поля <class2>, ...

Если вы используете мышь, поместите текстовый курсор на один из аргументов, затем двойным щелчком в списке Available Inputs выберите соответствующий источник данных.

Выше приведенное выражение показывает, что вы будете создавать буферную зону шириной 33 пиксела вокруг класса 1 (Water) тематического растра Lnlakes.img. Нажмите ОК.

8.Дважды щелкните по объекту Function, расположенному под файлом Input.img. В списке Functions выберите категорию Distance (Расстояние). Снова выберите первую функцию буферизации Search.

Ответьте на вопрос 2.

Используя мышь или клавиатуру, введите следующее выражение:

SEARCH ($n*_Input:, 50, 1)

Удалите неиспользуемые поля второго и последующих классов.

Из этого выражения видно, что вы создаете буферную зону шириной 50 пикселов вокруг пикселов класса 1 (ЛЭП) тематического растра Lnput.img. Нажмите ОК, когда закончите ввод выражения.

123

9.В диалогах свойств промежуточных растровых объектов (на выходах функций буферизации SEARCH) включите флажок Temporary Raster Only (Создавать только временный растровый файл).

Ответьте на вопрос 3.

10.Дважды щелкните по объекту Criteria (Критерии создаваемых классов). В диалоге Criteria, в списке Available Layers (Доступные слои) вы увидите имена трех входных изображений. Щелкните по первому элементу списка и нажмите кнопку Add Column (Добавить столбец) - заглавие столбца будет добавлено к первому столбцу редактируемого поля справа. Убедившись, что первый файл все еще выбран, щелкните опять по кнопке Add Column (Добавить столбец). Теперь у вас должно быть два столбца для одного и того же входного файла.

Всё еще находясь в диалоге Criteria, выберите второй из трех входных файлов и добавьте два столбца. Повторите процедуру добавления двух столбцов (Add Column) для третьего входного файла.

Теперь на экране должна быть таблица с одной строкой и шестью столбцами. Добавьте еще две строки, используя стрелку инкремента поля Rows (Строки).

11.Используя клавиатуру, введите в таблицу следующую информацию:

 

 

 

 

 

 

 

 

 

 

 

Таблица 3.2

 

 

(Lnlakes)

 

 

(Lnput)

 

 

(Lnslope)

n

$n*_memon

$n*_memon

$n*_memon

$n*_memon

$n*_lnslopп

$n*_lnslop

 

 

ry

 

ry

 

ry

 

ry

 

e

 

e

 

>0>0

<=

<=33

>0

>0

<=

<=50

>=

>=0

<3<3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

>0>0

<=

<=33

>0

>0

 

<=50

>=>=3

<6<6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

>0>0

<=

<=33

>0

>0

 

<=50

>=>=6

<<<10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Класс 1 определен как области на расстоянии до 33-х пикселов от воды, расположенные не далее 50-ти пикселов от ЛЭП, и имеющие уклоны от 0 до 2-х градусов. Подобно определены и классы 2 и 3.

124

Убедитесь, что флажок All Criteria (Все критерии) включен, и нажмите ОК.

12.Дважды щелкните по шестому растровому объекту и задайте имя выходного файла (File Name) – xpowerstation_sites.img ("места для размещения электростанций"). Включите флажок Delete If Exists (Удалить, если существует) на тот случай, если возникнет необходимость вернуться к модели и переписать уже существующий выходной файл. Убедитесь, что выбран тип данных (Data Type) - Unsigned 8-bit, тип растра (File Type) - тематический (Thematic). Ответьте на вопрос 4. Нажмите ОК.

13.Сохраните созданную графическую модель, нажав кнопку Save (Сохранить). Перед тем как ввести имя модели (File Name xpowerstation_sites.gmd) проверьте, что сохраняете файл в учебную директорию. После сохранения модели щелкните кнопку Ехесute Model (Запуск модель) на панели моделлера. Когда компьютер завершит счет, нажмите ОК и закройте окно графического моделирования, выбрав File | Close.

14.Откройте во Вьюере только что созданный файл xpowerstation_sites.img в режиме Pseudo Color (Псевдоцвета).

15.В меню Вьюера выберите Raster | Attributes(Растр | Атрибуты). Должно появиться сообщение о несоответствии цветов (Allocating Colors). Можно пропустить это сообщение. Задайте первому, второму и третьему классам соответственно красный, желтый и зеленый цвета.

16.В меню редактора атрибутов (Attribute Editor) выберите Edit | Add Class Names (Редактировать | Добавить имена классов), - в таблице атрибутов появится новый столбец имен классов.

Встолбец имен классов введите перечисленные ниже имена: CLASS0 Background (фон)

CLASS1

Grade1Site

(наилучшие места)

CLASS2

Grade2 Site

(хорошие места)

CLASS3

Grade3 Site

(приемлемые места)

17.Кроме задания цветов классов, измените на 0 величину непрозрачности (Opacity) для пикселов фона (Background) Нажмите кнопку Save(Сохранить) и закройте редактор атрибутов.

125

18.Во Вьюер с уже загруженным изображением xpowerstation_sites.img загрузите снимок Lanier.img, убедившись, что сброшен флажок Clear Display (Очистить Вьюер перед загрузкой).

19.В меню Вьюера выберите View | Arrange Layers (Организовать слои). На экране появится диалоговое окно показывающее, что во Вьюер загружено два изображения, причем изображение xpowerstation_sites.img является нижним слоем. "Перетащите" этот слой на верхнее место, поверх изображения Lanier.img. нажмите кнопку Apply (Применить). Теперь во Вьюере можно просмотреть результат выбора участков, наложенный на снимок Landsat.

Ответьте на вопросы 5 и 6.

3.3.2Контрольные вопросы

1.Размер каждого пиксела в файле Lnlakes.img - 30 м. Поскольку мы можем построить буфер учитывая только расстояние в пикселах, какое расстояние в пикселах нужно указать при необходимости построить буфер шириной 1 км?

2.Размер каждого пиксела файла Lnput.img равен 30 м. Поскольу буферная зона вокруг объекта задается в пикселах, сколько пикселов нужно указывать при построении зоны удаленности от объекта до 1,5 км?

3.Как называется растровый объект после выполнения 9-го шага?

4.Какой тип данных и какой тип файла необходим для хранения результатов работы модели?

5.Почему нельзя считать участок с координатами Х=235828 У=3801599 подходящим для строительства электростанции?

6.Используя критерии отбора, приведенные в этом упражнении, можно ли расположить электростанцию на участке с координатами Х=242409 У=3794237 и почему?

126

3.4 Упражнение 4. Модель поиска эрозионно-опасных участков (Spatial Model-Erosion Areas)

Цель упражнения: построить графическую модель, которая позволит создать тематическое растровое изображение потенциально эрозионноопасных территорий Задание 1 Создать графическую модель (шаги 1-3)

Задание 2 Перекодировать изображения Lnslope, Lnsoils и Lnlandc в соответствии с критериями модели (шаги 4-6)

Задание 3 Задать графически функцию, относящую эрозионноопасные территории к 1-ому классу (Class1), а остальные территории к классу 2 (шаги 7-9)

Задание 4 Определить параметры выходного изображения и запустить модель (шаги 10-13)

Задание 5 Использовать редактор атрибутов (Attribute Editor), чтобы задать цвета и прозрачность классов выходного изображения (шаги 14-18).

Рис 3.2

127

Входные данные: Lanier.img, Lnlands.img, Lnslope.img, Lnsoils.img Выходные данные: растровое изображение эрозионно-опасных территорий

Инструменты: Набор средств графического моделирования (Spatial Modelег), Редактор атрибутов (Attribute Editor)

Модель основана на следующих критериях (рис 3.2):

Эрозионно-опасными считаются участки с уклонами >= 10 градусов;

Песчаные почвы обладают высокой степенью эрозионной опасности;

Обнаженные почвы также наиболее эрозионно-опасны.

1.На Главной Панели IMAGINE выберите Modeler | Model (Инструментарий Графического моделирования | Редактор моделей). На экране появится новый лист для создания графической модели и набор инструментов.

2.Из набора инструментов выберите инструмент Raster Object (Растровый объект) и разместите три растровых объекта в верхней части листа и один растровый объект - в нижней части.

3.После этого выберите инструмент Function(Функция) и расположите этот объект в центре листа между входными и выходным изображениями. Из набора инструментов выберите инструмент Connect (Связать объекты). Свяжите объекты так, как показано на рисунке вначале упражнения.

4.Дважды щелкните по первому растровому объекту. Выберите Lnslope.img как входной файл (Input File). Включите флажок Recode Data (Перекодировать данные). Щелкните кнопку Setup Recode (Задание перекодировки). Теперь перекодируйте данные, используя следующие критерии:

если уклон меньше 10 градусов, то New Value= 0,

иначе New Value= 1

5.Дважды щелкните по второму растровому объекту. Выберите Lnsoils.img как входной файл. Включите флажок Recode Data.

128

Затем вновь щелкните кнопку Setup Recode и перекодируйте данные, используя следующий критерий:

если "soil" содержит "sand” или "sndy", то NewValue= 1

иначе NewValue= О

6.Дважды щелкните по третьему растровому объекту. Выберите входной файл (Input File) Lnlandc.img. Включите флажок Recode Data. Затем щелкните кнопку Setup Recode и перекодируйте данные, используя следующий критерий:

GRASS -> 1

URBAN -> 1 остальные классы -> О

7.Дважды щелкните по объекту Function(Функция) и в списке Functions выберите категорию Conditional (Условные). В списке функций этой категории выберите условный оператор (CONDITIONAL.) - шаблон выражения будет скопировано в поле, расположенное ниже.

8.Доступные входные данные в левой части диалога должны представлять собой файлы, размещенные в верхней части графической модели. Добавление переменной в выражение осуществляется помещением текстового курсора на аргумент внутри угловых скобок и последующим щелчком по имени входной переменной. Мы проведем измерения для различной степени эрозии. Соответствующее каждому условию выходное значение класса обозначено как <argN>. В результате выражение должно выглядеть следующим образом (звездочки заменяют порядковые номера объектов; эти номера могут быть различны для разных пользователей):

Conditional {

 

 

 

($n*_Lnslope_RC==1

and

$n*Lnsoils_RC==1

and

$n*Lnlandc_RC==1) 1,

 

 

 

($n*_Lnslope_RC==1 and

$n*Lnsoils_RC==1 and $n*Lnlandc

_RC==0) 2}

 

 

 

Ответьте на вопрос 1.

129

9.Заданное вами условие позволит отнести области высокой эрозионной опасности к Классу 1 (Class 1), с умеренной эрозионной опасностью - к Классу 2 (Class 2). Нажмите ОК.

10.Дважды щелкните по выходному растровому объекту и введите имя выходного файла (File Name) - xsoil_erosion.img.

Ответьте на вопросы 2 и 3.

11.Нажмите ОК, и модель будет готова к запуску на выполнение.

12.Сохраните созданную графическую модель, щелкнув кнопку Save (Сохранить). Назовите файл модели xsoil_erosion.gmd. После этого запустите модель, щелкнув кнопку Execute Model (Запуск модели).

13.Во Вьюере откройте файл xsoil_erosion.img в режиме Pseudo Color (Псевдоцвета).

14.В меню Вьюера выберите Raster | Attributes (Растр | Атрибуты). Если на экране появится сообщение о несоответствии цветов (Со1ог allocation), нажмите ОК. В таблице атрибутов нажмите на первой ячейке цвета и установите желаемый цвет для первого класса.

15.На панели инструментов Редактора атрибутов (Attribute Editor) щелкните кнопку Column Properties (Свойства столбцов). Добавьте новый столбец в таблицу с помощью кнопки. Созданный столбец будет назван по умолчанию Column 3. Включите флажок Editable (Редактируемо) и измените название столбца на ClassName (Название класса). Введите отображаемую ширину столбца (Display Width) - 10. Убедитесь, что тип данных (Туре) этого столбца определен как строчные (String). Измените порядок столбцов в таблице с помощью кнопок UP (Вверх), Down (Вниз), Тор (Поместить на первое место), Bottom (Поместить на последнее место), так чтобы столбцы располагались в следующем порядке:

ClassName, Со1ог, Histogram, Opacity

После того, как разместите столбцы в указанном порядке, нажмите

ОК.

16.В столбце ClassName введите названия классов - Background (Фон), High Erosion Potential (Высокая эрозионная опасность),

130

Отобразить на экране наборы данных и оцифровать Рабочую область (АО!) для дальнейшего использования в графической модели (шаги 1-2)
Построить графическую модель (шаги 3-5) Определить объекты графической модели и функции, применяемые к ним (шаги 6-13)
Запустить модель и оценить результат (шаг 14) Вывести на экран изображение-результат, поверх 2-х слоев
131

Low Erosion Potential (Низкая эрозионная опасность) для классов 0, 1 и 2 соответственно. Ответьте на вопрос 4.

17.Убедитесь, что в столбце Opacity (Непрозрачность) для фона (background) установлено значение 0. Это позволит вам видеть сквозь пикселы фона, когда вы будете накладывать полученное изображение на снимок.

18.Щелкните кнопку Save (Сохранить) и закройте редактор атрибутов (AttributeEditor). Откройте во Вьюере одновременно два изображения - созданный вами тематический растр xsoil_erosion.img поверх космического снимка Lanier.img.

3.4.2Контрольные вопросы

1.Если вы сделаете ошибку, вводя выражение условия, какие есть возможности для исправления этой ошибки?

2.Какие типы входных и выходных данных соответствуют этому файлу? Выберите в диалоге подходящие опции.

3.Когда может понадобиться кнопка Delete if Exist (Стереть, если уже существует)?

3.5Упражнение 5. Модель поиска мест для постройки мостов через реку (Spatial ModelRiver Crossing Sites)

Цель упражнения: построить графическую модель, которая позволит найти места, наиболее подходящие для строительства мостов через реку.

Задание 1

Задание 2 Задание 3

Задание 4 Задание 5

Рис 3.3

Входные данные: Bigstone_rvrs, Bigstone_dem.img, Bigstone_tm.img Выходные данные: тематический слой участков, где возможно строительство мостов.

Инструменты: Инструмент графического моделирования (Spatial Modeler), Редактор атрибутов (Attribute Editor)

Модель основана на следующих критериях (рис 3.3): Выбранные участки должны пересекать реку

Уклон берега реки на выбранных участках не должен превышать 10%

1.В данном упражнении вы будете использовать для анализа покрытие ARC/INFO Bigstone_rvrs. Если в директории учебных данных нет покрытия с таким именем, придется сначала импортировать данные из файла Bigstone_rvrs.е00 (обменный формат ARC interchange).

2.Откройте (Open layer), вписав в окно Вьюера (Fit to Frame), снимок Bigstone_tm.img. Еще раз воспользуйтесь кнопкой Open layer, чтобы открыть поверх снимка Landsat ТМ векторное покрытие ARC/INFO bigstone_rvrs. Отобразив во Вьюере эти данные, вы увидите, что векторные данные покрывают лишь юговосточную часть снимка.

132

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

3.Создаваемая вами модель может быть выполнена только в пределах перекрытия снимка и векторных данных. Поэтому нужно выделить эту зону как область интереса (АОI). В меню Вьюера выберите Инструментарий работы с областями интереса (АОI Тоо1s). В палитре инструментов АОI выберите Сгеаtе Rectangle АОI (Создать прямоугольную область интереса). Обрисуйте с помощью этого инструмента прямоугольник, ограничивающий область перекрытия. После этого закройте (Close) инструментарий работы с АОI.

4.На Главной Панели IMAGINE выберите Modeler | Model Maker (Редактор моделей). На экране появится окно для создания новой графической модели.

5.Выберите инструмент Raster Object (Растровый объект) и одиночным щелчком мыши разместите один растровый объект на листе модели. Таким же образом расположите на листе еще два растровых объекта. Затем поместите на лист два объекта Function (Функция) и один векторный объект (Vector Object).

6.Расположите и соедините объекты в соответствии с рисунком в начале упражнения. Для соединения объектов, используйте инструмент Connect (Соединить) при нажатой кнопке Кеер Tool (Использовать выбранный инструмент повторно), что избавит вас от необходимости неоднократно возвращаться к набору инструментов за одним и тем же инструментом.

7.Когда графическая модель будет нарисована так, как показано на рисунке, выберите инструмент Select Object (Выбрать объекты). Двойным щелчком мыши выберите первый растровый объект. Задайте имя файла - Bigstone_dem.img, в этом же диалоге выберите кнопку Choose AOI (Выбрать область интереса). Область интереса находится во Вьюере (Viewer). Нажмите ОК в обоих диалогах.

8.Дважды щелкните по объекту Function. В списке Functions (Функции) выберите категорию Surface (Поверхность), в ней -

133

первую функцию DEGREE SLOPE (Уклон). Шаблон выражения будет помещен ниже, в редактируемое поле.

Чтобы задать первый аргумент, поместите тестовый курсор на слово <raster>, после чего в списке доступных переменных (Available Inputs) щелкните $n*_Bigstone_dem (вместо звездочки у вас будет стоять порядковый номер объекта). Это имя автоматически появится на месте первого аргумента в условии. Как второй аргумент нужно ввести с клавиатуры строку "meters" (убедитесь, что вы взяли второй аргумент в кавычки). Составленное вами условие должно выглядеть следующим образом:

DEGREE SLOPE ($n*_bigstone_dem, "meters") Нажмите ОК.

9.Дважды щелкните по второму растровому объекту. Включите флажок Temporary Raster Only (Только временный растровый файл). Таким образом, временно будет создаваться растровый файл уклонов для первой части вашей модели. Нажмите ОК.

10.Дважды щелкните по векторному объекту (Vector Object). Выберите bigstone_rvrs как векторное покрытие (vector coverage). В том же самом диалоге выберите кнопку Choose AOI (Выбор

области интереса). Ваши области интереса находится во Вьюере. Нажмите ОК в обоих диалогах.

11.Дважды щелкните по второму объекту Function. В списке Functions (Функции) и выберите категорию Conditional (Условные), затем щелкните функцию EITHER (Выбор или-или). Шаблон функции появится в редактируемом поле задания параметров.

12.Используя мышь или клавиатуру, завершите ввод условия. После этого оно должно выглядеть следующим образом:

EITHER 1 IF ($n*_memory<10 аnod $n*_bigstone_rvrs) ОR 0 OTHERWISE

Если условие в скобках истинно, то результатом выражения будет значение 1, если ложно - 0. Нажмите ОК.

13.Дважды щелкните по третьему растровому объекту. Введите имя выходного файла - xbridge_sites.img. Выберите тип файла – Thematic (Тематический). Отметьте опцию Delete If Exists

134

(Стереть, если существует), это позволит вам автоматически стирать выходной файл в процессе отладки модели. Выберите желаемый тип выходных данных. Нажмите ОК.

14.Нажмите кнопку Save для сохранения графической модели и назовите созданную модель xbridge_sites.gmd.

Ответьте на вопрос 1.

15.Для запуска модели нажмите кнопку Запустить модель (Execute Model). Когда процесс выполнения модели будет завершен, в новом Вьюере откройте изображение xbridge_sites.img, вписав его в окно Вьюера (Fit To Frame). Ответьте на вопрос 2.

16.Теперь загрузите созданное вами изображение xbridge_sites.img поверх космического снимка и векторных данных. Для достижения максимального контраста участков возможного строительства мостов, наложенных на космоснимок, при открытии снимка используйте режим Gray Scale (Полутоновое изображение) и только 1-й канал снимка. При открытии изображения xbridge_sites.img используйте режим Pseudo Color (Псевдоцвета) и сбросьте флажок Clear Display.

17.Автоматически подложка будет непрозрачной. Если нужно изменить параметры отображения xbridge_sites.img, откройте Редактор Атрибутов (Raster | Attributes). Измените значение непрозрачности (Opacity) нулевой строки на 0. Затем задайте новый цвет для участков, где возможно строительство мостов, чтобы сделать картину более наглядной.

Ответьте на вопросы З и 4.

3.5.2Контрольные вопросы

1.Какой тип данных лучше всего подходит?

2.Каков диапазон выходных значений пикселов?

3.Повлияла бы точность (пространственное разрешение) цифровой модели рельефа (ОЕМ) на результат выполнения модели?

135

3.6 Упражнение 6. Добавление в интерфейс кнопки с пиктограммой (Adding an Icon)

Цель упражнения: добавить в существующий интерфейс IMAGINE кнопку, отредактировав для этого уже существующий скрипт ЕМL. (Программу на языке ERDAS Macro Language).

Задание 1 Скопировать текст существующего EML_скрипта (шаги 1-2)

Задание 2 Отредактировать скрипт для включения новой кнопки (шаги 3-7)

Задание 3 Сохранить внесенные изменения как новый скрипт (шаг 8)

Задание 4 Проверить созданный скрипт (шаги 9-10) Входные данные: stop_sign.icon, imagine.eml

Выходные данные: новый, отредактированный вариант скрипта imagine.eml

Инструменты: текстовый редактор (Text Editor)

1.Сначала вам нужно просмотреть программу (скрипт) ЕМL. для Главной Панели IMAGINE. Для этого в меню Главной Панели выберите Тооls | Edit Техt Files (Инструменты | Редактировать текстовый файл). В открывшемся текстовом редакторе щелкните кнопку Open File (Открыть файл). Чтобы перейти в директорию, где находятся скрипты, в строке FileName введите $IMAGINE_НОМЕ. Таким образом вы увидите все системные директории IMAGINE. Выберите поддиректорию /scripts. Файлы в этой директории имеют расширения .eml, а не .txt, поэтому, чтобы увидеть их, введите *.eml вместо имени файла и нажмите клавишу Enter.

Пролистайте список и, выбрав из списка Imagine.eml, нажмите ОК.

Внимание!

Не редактируйте оригинальный системный скрипт. Всегда работайте с копией.

2.Чтобы сделать копию в текстовом редакторе где открыт ЕМL-скрипт, выберите File | Save As (Файл | Сохранить как). Убедитесь, что находитесь в учебной директории и введите Image.eml Нажмите ОК.

3.Поскольку скрип достаточно велик, нужно найти в нем место для

136

внесения изменения.

Для этого в меню Текстового редактора выберите Find | Find (Найти). В первом текстовом поле введите Radar Icons (Кнопка "Радар") и щелкните кнопку Find (Найти). В результате поиска вы попадете в раздел программы ЕМL, где описываются кнопки.

Ответьте на вопросы 1 и 2.

4.Переместите ваш курсор ниже двух закрывающихся фигурных скобок, относящихся к описанию кнопки работы с радарными данными, и введите следующий текст:

load "radar_top.eml"

} } button stopsign { icon "stop_sign.icon";

on mousedown {

5.Теперь вам нужно скопировать из предыдущей части скрипта команду squit (Стоп и выход). Еще раз используйте возможности поиска Find, чтобы найти squit. Так вы найдете часть программы где описывается кнопка команды меню "squit". Копируйте только команду, связанную с этим пунктом меню. Выберите линию под squit:

{display checkquitframe;}

и щелкните кнопку Сору (Копировать).

Вернитесь к тому месту программы, где ранее была вставлена кнопка squit и вставьте (Paste) команду squit под директивой "on mousedown". После того как команда завершения squit встроена, выделите введенную строку с помощью табуляции.

Ваш итоговый участок скрипта должен выглядеть следующим образом:

button stopsign { icon "stop_sign.icon"; on mousedown { display checkquitframe;

6.Обратите внимание на аналогичные описания кнопок в скрипте, и вы увидите, что нужно закончить выражение закрытием скобок. Добавьте эти скобки и

137

Ответьте на вопрос 3.

7.Теперь отредактированный скрипт можно сохранить. Выберите File | Save (Файл | Сохранить). Закройте текстовый редактор и выйдите из IMAGINE.

8.Теперь проверьте, работает ли измененный скрипт. Для того чтобы IMAGINE использовал в работе нужный вам скрипт Imagine.eml, директория запуска (startup directory) должна быть той же самой, где находится этот отредактированный скрипт. Поэтому убедитесь, что вы находитесь в учебной директории, и наберите в командной строке imagine".

9.На появившейся Главной Панели IMAGINE должна присутствовать созданная кнопка Stop. Нажмите Stop, чтобы проверить работу этой кнопки.

Ответьте на вопрос 4.

3.6.2Контрольные вопросы

1.Какие кнопки описаны до и после кнопки Radar?

2.Какая часть текста программы выделяется следующим образом: /* ... */? Что при этом происходит?

3.Посмотрите на описание кнопки Radar. Почему вы не включили <improf> в выражение, описывающее кнопку Stop?

4.Какой раздел оперативной справки IMAGINE (Online Help) описывает создание EML-скрипта “с нуля”?

3.7Упражнение 7. Создание диалога (Creating а Dialog Вох)

Цель упражнения: написать и выполнить скрипт ЕМL, создающий диалоговое окно.

Задание 1

Написать первую часть ЕМL-файла в тестовом

Задание 2

редакторе (шаги 1-2)

 

 

Загрузить ЕМL через Command History (Перечень

 

выполненных команд) и проверить ошибки, если это

Задание 3

необходимо (шаги 3-4)

 

 

Введя

дополнительные

условия,

добавить

 

функциональности в создаваемую программу (шаги

 

5-7)

 

 

 

138

Задание 4 Сравните скрипт (диалоговое окно) и саму программу (шаг 8)

Входные данные: нет Выходные данные: простое диалоговое окно в интерфейсе

Инструменты: текстовый редактор (Text Editor), перечень выполненных команд (Command History)

1.В меню Главной Панели IMAGINE выберите Tools | Edit Text Files (Инструменты | Редактировать текстовый файл). В данном упражнении вам предстоит создать свой собственный ЕМL-скрипт. Отступы с помощью табуляции в тексте скрипта не обязательны, но желательны, поскольку они делают текст программы легче читаемым и более четко структурируют скрипт. В таком структурированном тексте значительно легче обнаруживать ошибки.

component my_script { frame my_frame {

title "My Frame"; geometry 0, 0, 350, 270; button cancelb;

button cancelb { title "Cancel";

geometry 70, 235, 100, 30; on mousedown {

unload; }

}

}

on startup display my_frame;

}

2.Каждый скрипт на ЕМL. должен начинаться со строки, включающей ключевой слово. Это условие позволяет определить имя ЕМLпрограммы и поддиректорию, в которой можно найти файлы оперативной справки (On-Line helo) для этой компоненты. На панели инструментов текстового редактора щелкните кнопку Save (Сохранить). Убедитесь, что находитесь в учебной директории и введите имя my_Frame.eml. Нажмите ОК.

139

3.Перед тем, как вы продолжите написание более сложного скрипта, будет полезно попробовать запустить ту часть программы, которую вы уже создали и посмотреть на результат. В меню Главной Панели выберите Session | Commands (Сессия | Команды). Вы увидите, что некоторые ЕМL-команды уже есть в списке выполненных команд. Чтобы выполнить созданную вами программу, введите load "my_Frame.eml" и нажмите клавишу Enter.

Внимание!

Вы должны указать именно ту директорию, в которой находятся ваши учебные данные и созданный только что скрипт.

4.Если в созданном вами скрипте нет ошибок, то на экране появится диалоговое окно. Иначе, если в тексте программы допущены ошибки, следует обратить внимание на то, какая строка указана. Вернитесь в текстовый редактор и выберите в меню View | Current Line Number (Показать номер текущей строки). Затем перейдите (Go To) к строке, содержащей ошибку. Исправьте ошибку, сохраните скрипт и перезапустите ЕМL.

5.Посмотрев на созданный вами элемент интерфейса (Frame), вы обнаружите, что это самое простое окно. Но в написании скриптов ЕМ1L есть обязательное правило: всегда должна присутствовать возможность прервать выполнение скрипта. Вам нужно добавить соответствующую функцию в этот скрипт.

Ответьте на вопрос 1.

Нажмите кнопку Cancel в созданном диалоговом окне.

6.Чтобы полностью закончить скрипт, дополните ранее созданную программу следующими строками (отмеченными серым цветом):

component my_script { frame my_frame {

title "My Frame"; geometry 0, 0, 350, 270;

filename infile; button cancelb; button okb; filename infile { title "input File";

geometry 0, 0, 170, 230 select "*.img";

140

}

button okb { title "OK";

geometry 180; 235,100,30;

on mousedown { echo "The file" Sinfile "has been selected"; unload; } } button cancelb {

title "Cancel"; geometry 70, 235, 100, 30; on mousedown { unload; } }

}

on startup display my_frame;

}

7.Следующие условия нужно учитывать при написании скриптов:

большинство операторов программы заканчиваются точкой с запятой;

необходимо проверять соответствие открывающихся и закрытвающихся скобок;

строки 5, 6, и 7 в определениях устанавливают порядок, в соответствии с которым будет прочитан скрипт. Это важно, когда одна часть основывается на другой.

Сохраните ваш скрипт, затем вернитесь к диалогу Commands (Команды), чтобы загрузить скрипт и проверить его на наличие ошибок, также, как вы это делали ранее. Результат запуска программы должен представлять собой диалоговое окно "My Frame" со строкой для ввода имени входного файла – Input File (.img), списком для выбора файла или директории и кнопками Cancel и ОК.

8.Теперь сравните ваш скрипт с результирующим диалоговым окном.

Ответьте на вопросы 2-6.

3.7.2Контрольные вопросы

1.Каковы 4 параметра, задающие геометрические характеристики кнопки Cancel?

2.Как отличаются описания частей диалога my_frame?

3.Какие еще части и элементы могут быть встроены в диалоговое

141

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]