Главное меню

Карта сайта
Главная
Курсовые работы
Отчеты по практикам
Лабораторные работы
Методические пособия
Рефераты
Дипломы
Лекции



Применение геоинформационных систем в геоэкологических исследованиях

Запросы к гридам. Опции модуля Spatial Analyst.

Модуль Spatial Analyst имеет много инструментов анализа. Эти инструменты могут вызываться при помощи опций ниспадающих меню Analysis и Surface. Некоторые инструменты можно применять только к векторным слоям точечных объектов, другие – только к слоям гридов, третьи – и к тем, и к другим слоям.

Зачастую перед построением грида к точечному слою – источнику данных полезно применить опцию «Find Distance» ниспадающего меню Analysis. Эта опция строит новый грид, в ячейках которого записано расстояние до ближайшего объекта активной векторной темы (слоя), при этом активная тема должна быть только одна! Если в векторной теме есть выбранные объекты, то учитываются только они, если нет ни одного выбранного, то все объекты. Пользователю предлагается установить характеристики создаваемого грида, либо согласиться с предложенными модулем в диалоговом окне «Output Grid Specification». Рассчитывается так называемое Евклидово расстояние (r), т.е. обыкновенное расстояние, рассчитываемое на плоскости карты по формуле:

,

где ∆x и ∆y – разницы координат объекта и ячейки в системе карты (Вида). Для ячеек, пространственно совпадающих с векторными объектами, значение расстояния задаётся равным нулю. Слой созданного грида автоматически получает название «Distance to» + название векторного слоя, расстояния до объектов были рассчитаны. Сам же грид (файловая структура на диске) получает название типа «distN», где N – порядковый номер грида данной категории.

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

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

Опция «Find Distance» рассчитывает расстояния от точек грида до ближайших объектов активной векторной темы (слоя), но не указывает идентификаторы этих объектов. Это делает другая опция – «Assign Proximity». Ячейки создаваемого ею грида содержит информацию об идентификаторах ближайших векторных объектов активной темы. Если в этой теме есть выбранные объекты, то будут учитываться только они. Расстояния рассчитываются так же, как и в опции «Find Distance». При вызове опции также сначала необходимо определить пространственные характеристики создаваемого грида, затем на экране появляется диалоговое окно «Proximity Field», в списке прокрутки которого представлен список имён семантических полей векторной темы. Необходимо выбрать то поле, значения которого будут присоединены к ячейкам грида. Это поле должно содержать уникальное для каждого объекта векторного поля значение. Выбор поля, естественно, осуществляется наведением на его имя курсора и нажатием левой кнопки манипулятора «мышь». Затем – нажать кнопку «ОК»: модуль Spatial Analyst создаёт новый грид и добавляет его в Вид в качестве слоя с именем «Proximity to» + название векторного слоя, ближайшие объекты которого выявлялись. Название грида – «proxN», где N – порядковый номер грида этого типа. Для созданного слоя грида появляется возможность просмотра и экспорта во внешний файл атрибутивной таблицы, а также преобразования слоя в полигональный шейпфайл при помощи соответствующей опции ниспадающего меню «Тема». Атрибутивная таблица в общем случае содержит три поля: «Value», «Count», «S_Value». Первые два она содержит всегда. Если выбранное поле векторного слоя числовое, то его значения для ближайших объектов векторного слоя будут записаны в качестве значений ячеек нового грида и они же будут представлены в качестве значений поля «Value» атрибутивной таблицы грида. Если же было выбрано символьное поле, то в ячейках грида будут записаны порядковые номера и они же будут представлены в атрибутивной таблице в поле «Value». В поле «S_Value» этой таблицы будут представлены значения этого символьного поля для ближайших объектов векторного слоя. В обоих случаях поле «Count» представляет количество ячеек грида, для которых данный векторный объект является ближайшим.

Гриды данного типа также можно преобразовывать в полигональные шепфайлы, объекты которых образуются путём пространственного соединения групп соседних ячеек грида с одинаковыми значениями. Эти полигоны фактически представляют собой полигонам Тиссена в том случае, если исходный векторный слой является точечным. Они позволяют проводить анализ близости и представляют собой области вокруг точечных объектов (ядер), внутри которых расстояние до ядра ближе, чем до всех других точек. Атрибутивная таблица созданного из грида полигонального слоя имеет два семантические поля: «Id» и «Gridcode». Первое поле содержит порядковый номер полигона, значение второго соответствует значениям образовавших полигон ячеек грида. Если уникальным для каждого точечного объекта является значение символьного поля, то в этом случае для созданного слоя полигонов Тиссена следует с помощью Мастера пространственных операций выполнить присоединение данных этого символьного поля точечного слоя по местоположению.

Создание полигонов Тиссена часто бывает необходимым при исследованиях экологии популяций: определение зон, центрами которых являются муравейники, птичьи гнёзда и т.п. Создание гридов этого типа в комплекте с гридами расстояний также может быть весьма полезным при планировании природно-хозяйственных мероприятий. Например, выявить зоны на расстоянии не далее заданного от определённых объектов. Или определить, какие участки леса следует отнести к зонам ответственности различных пожарных отрядов, какие участки газопровода – разным станциям техобслуживания и т.п. Для совместного анализа двух и более гридов применяются инструменты «Map Query» и «Map Calculator», инструкции по работе с которыми будут даны в этом разделе ниже.

Опция «Calculate density» создаёт слой грида по данным векторной точечной темы (слоя). Ячейки грида содержат значения плотности, представляющие собой количество объектов, случаев и т.п. на единицу площади или просто плотность какой-либо величины. В качестве исходных векторных слоёв могут использоваться как слои объектов типа Point, так и Multipoint, когда объект состоит из нескольких точек.

При вызове этой опции, как и в предыдущих случаях, пользователю предлагается установить пространственные характеристики выходного грида. Затем на экране появляется диалоговое окно «Calculate density». В верхней его части расположен список прокрутки «Population Field». В нем содержится список числовых полей таблицы исходного точечного слоя, а также установленное по умолчанию значение «Отсутствует». Если выбрано определённое числовое поле, то значения для расчёта плотности берутся из этого поля. В случае объектов типа Multipoint каждой отдельной точке подобного объекта присваивается значение выбранного числового атрибута. Например, объект Multipoint состоит из 5 точек. Значение выбранного поля – 100. Для расчета плотности будет взято пять точек, значение в каждой – 100. Если же выбрано «отсутствие поля», то каждая точка имеет значение 1. В блоке «Search radius» задаётся радиус вокруг ячеек, внутри которого берутся точки для расчёта плотности. Если единицы расстояний отличаются от единиц карты данного Вида, то радиус задаётся в единицах расстояний. По умолчанию значение радиуса задаётся по минимальному из измерений, т.е. ширине или высоте экстента исходной точечной темы, делённому на 30.

Далее пользователь в списке прокрутки «Density type» выбирает метод расчёта плотности. Их всего два: «Simple» и «Kernel». При выборе первого плотность рассчитывается путём суммирования значений выбранного в списке «Population Field» поля исходного точечного слоя всех точек, попавших внутрь круга заданного радиуса и деления полученной суммы на площадь этого круга, измеренную в единицах, выбранных при помощи списка прокрутки «Area Units». Метод «Kernel» рассчитывает плотность сходным образом, за исключением того, что значения из поля, выбранного в списке «Population Field» распространяются вокруг каждой точки. В результате грид получается более гладким.

В списке прокрутки «Area Units» выбираются единицы площади, которые будут использованы для расчёта плотности. Если единицы карты не известны (возможный случай при работе в Виде, координаты объектов которого – декартовы) то плотность будет рассчитываться в этих единицах. Если единицы карты известны, то возможен выбор следующих единиц площади: акров, гектаров, квадратных миль, километров, метров, ярдов, дюймов, сантиметров и миллиметров. Результирующий слой грида имеет название «Density from» + название точечной темы исходных данных.

Важное замечание. Вызов любой опции представляет собой запуск системной программы на языке Avenue. В системной программе данной опции «Spatial.Density» есть небольшая неточность, которая не позволяет этой опции быть работоспособной. Для устранения этого недостатка сделайте в окне проекта активным тип документов «Тексты программ», затем нажмите кнопку «Новый». Появится пустое окно нового редактора скрипта. На Панели инструментов нажмите кнопку с изображением руки, держащей листок с надписями – она вставляет в открытый редактор скрипта исходный текст системной программы. Появится диалоговое окно «Диспетчер программы». В списке прокрутки найдите программу «Spatial.Density», наведите на неё курсор, нажмите левую кнопку манипулятора «мышь» и нажмите кнопку «ОК»: исходный текст программы будет вставлен в открытый редактор скрипта. Наведите курсор в самое начало текста программы и нажмите левую клавишу манипулятора «мышь». Затем в ниспадающем меню «Редактировать» окна ArcView вызовите опцию «Найти», в текстовом блоке появившегося диалогового окна напишите «theRamp» и нажмите кнопку «ОК». Опция выделит эту переменную чёрным прямоугольником. Поставьте в начало строки с нею символ «′» - так Вы превратите строку в комментарий. Затем в меню «Редактировать» вызовите опцию «Найти следующее» и в начало этой строки также поставьте символ «′». Всего эта переменная встречается в программе дважды. После этого нажмите кнопку «Компиляция» на Панели инструментов – на ней изображена чёрная «птичка». После этого на соседней кнопке «Выполнить» изображение бегуна станет чёрным – программа готова к работе, она запускается нажатием этой кнопки при открытых редакторе скрипта и Виде с активной точечной темой, по значениям которой планируется расчёт плотности.