Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Выбрать объекты




Пространственные запросы

Атрибутивные запросы

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

Атрибутивный запрос представляет собой некоторое логическое условие-команду, которое формируется также с применением команд стандартной логики (И, НЕ, ИЛИ).

Пример простейшего запроса:

На человеческом языке: Выбрать все квартала с возрастом преобладающей породы более 80 лет

На языке запросов: [age] > 80

Как видно, в атрибутивной таблице слоя «кварталы» должно содержаться поле age, в котором должны быть проставлены значения возраста для каждого квартала, если значение определенной строки в поле age будет отсутствовать, то запрос проигнорирует эту строку.

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

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

На языке запросов: ([age] > 80) AND ([age] < 120)

Как видно, в запросе было использовано логическое условие И (AND), то есть выбираемое значение должно удовлетворять сразу двум условиям, быть больше 80 лет и быть меньше 120 лет.

В качестве данных в запросе может быть использованы данные из нескольких полей. Например:

На человеческом языке: Выбрать все квартала с возрастом преобладающей породы более 80 лет и бонитетом равным единице

На языке запросов: ([age] > 80) AND ([bonitet] = 1)

Как видно, в атрибутивной таблице слоя «кварталы» также должно содержаться и поле bonitet, в котором должны быть проставлены значения бонитета для каждого квартала.

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

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

Для выбора в исходном слое могут быть использованы следующие запросы:

· пересекающиеся с границей объекта другого слоя (are crossed by the outline of)

· пересекающиеся с объектом другого слоя (intersect), отличие от предыдущего метода заключается в том, что при данном типе выборки будут также выбраны объекты касающиеся границ объекта другого слоя;

· находящиеся на расстоянии Х от объекта другого слоя (Are within a distance of);

· чей центр находится внутри объекта другого слоя - только для полигональных слоев (Have their center in);

· находящиеся полностью внутри объекта другой темы (Are completely within), объект не будет выбран если его границы касаются границ объекта другой темы;

· находящиеся полностью внутри объекта другой темы (Are contained by), объект будет выбран даже если его границы касаются границ объекта другой темы;

· полностью включающие объект (ы) другой темы (Completely contain), объект не будет выбран если его границы касаются границ объекта другой темы;

· полностью включающие объект (ы) другой темы (Contain), объект будет выбран даже если его границы касаются границ объекта другой темы;

· имеющие общий фрагмент линии с объектом другой темы (Share a line segment with);

· имеющие общий фрагмент линии с объектом другой темы, но не пересекающие его (Touch the boundary of)

· равные объекту другой темы (Are identical to)

Выборка может осуществляться как для всех объектов одной и другой темы, так и для выделенных объектов в одной и другой теме. Тем, в которых будут выделяться объекты может быть несколько. Некоторые правила не работают для объектов определенного типа, например правило «выбрать объекты имеющие общий фрагмент линии с объектом другой темы» не будет работать с точечным слоем.

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

Практическая часть

Учебные материалы для этой главы расположены на сетевой папке «PrakticLesson». Название папки – «chapt16».

В практической части этой главы Вы научитесь:

· Работать с атрибутивными запросами;

· Работать с пространственными запросами;

· Ограничивать визуализацию векторных слоев определенными объектами.

Упражнение 1. Атрибутивные запросы.

1. Откройте проект chapt16.mxd. В нем содержится тема представляющая собой фрагмент лесоустройства на территорию Сукпайского лесничества - les.shp. Элементарной единицей этого слоя является лесной выдел.

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

В атрибутивной таблице слоя les.shp содержится следующая информация:

Название поля Тип поля Описание поля
Kvartal Числовой Номер квартала
Vydel Числовой Номер выдела
Area Числовой Площадь выдела
Main Текстовый Тип преобладающей породы
Age Числовой Возраст преобладающей породы

3. Выберем все выдела площадь больше 50 га. Для этого, выберем из меню Selection пункт Select by Attributes...
Layer: les (выборка производится из слоя les)
Method: Create new selection (создается новая выборка, если до этого было что-то выбрано, то выделение его исчезнет)
Два раза щелкнем на поле Area, его название в кавычках добавится в поле запроса внизу, выберем знак "больше" (>), и впишем значение 50. Целиком наш запрос должен приобрести следующий вид:
"Area" > 50

4. После ввода всех параметров нажмите Ок.

5. Обратите внимание как изменился вид. В лесоустроительной карте выбрались некоторые выдела. Переключитесь в таблицу, чтобы определить сколько записей (т.е. выделов выделилось).

6. Допустим нам обходимо далее выбрать из всех выбранных выделов только выдела с елью в качестве преобладающей породы. Опять выбираем из меню Selection пункт Select by Attributes...
Layer: les (выборка производится из слоя les)
Method: Select from current selection (выбрать из существующей выборки, перед выполнением такого запроса, должна существовать некая предыдущая выборка)
Два раза щелкнем на поле Main, его название в кавычках добавится в поле запроса внизу, выберем знак "равно" (=) и нажмем на кнопку Get Unique Values (Получить уникальные значения). Эта кнопка, для выделенного поля осуществит поиск всех уникальных значений и выведет их в списке справа. Из этого списка можно будет потом выбрать нужное нам значение и щелкнув на нем 2 раза, вставить в наш запрос. Проделаем это для значения "Ель". Целиком наш запрос должен приобрести следующий вид:
"Main" = 'Ель'
Нажмем Ок.

7. Как видно в окне фрейма данных часть выделов, которые были выделены перестали быть выделенными, это те выдела, которые не соответствуют нашему последнему запросу. Открыв таблицу можно определить, сколько осталось выделенных выделов.

8. Мы произвели выделение нужных нам выделов в 2 этапа, а можем произвести и в один. Для этого, снимем выделение с выделенных объектов.
Selection\Clear Selected Features

9. Опять выбираем из меню Selection пункт Select by Attributes...
Layer: les (выборка производится из слоя les)
Method: Create new selection (создается новая выборка, если до этого было что-то выбрано, то выделение его исчезнет)
Далее либо выбирая соответствующие поля и значения, либо просто вписав запрос в поле ввода запроса получаем следующее выражение:
"Area" > 50 AND "Main" = 'Ель'
Нажимаем Ок.

10. Мы получили в один шаг результат, который до этого получили за два.

11. Создадим из полученной выборки виртуальный слой. Для этого правой кнопкой мыши щелкнем на слой содержащий выбранные объекты, в нашем случае это слой les и выберем Selection\Create Layer from Selected Features

12. Во фрейм данных будет добален новый слой с именем les selection, в котором будут содержаться только выделенные объекты. Полученный слой является виртуальным и существует только в данном проекте, если мы закроем наш проект без сохранения, то наш результат пропадет.

13. Для того, чтобы сохранить результат в виде отдельного слоя, существующего в виде соответствующего набора файлов на диске, проделаем следующую операцию. Правой кнопкой мыши щелкнем на слой содержащий выбранные объекты, в нашем случае это слой les и выберем Data\Export Data...
В появившемся окне в пункте Export (Экспорт) должно стоять Selected Features (выбранные объекты) что означает, выделенные объекты из слоя les будут преобразованы в новый слой. В поле Output shapefile or feature class (выходной слой) можно задать имя и путь к новому слою.

Упражнение 2. Пространственные запросы, определение количества и номенклатуры необходимых для исследуемой территории топокарт масштаба 1:200000.

1. Создайте новый проект

2. Загрузите слой oblasts.shp

3. Загрузите слой grid2km.shp.
Этот слой является стандартной разграфкой топографических карт выпускаемых Военно-Топографическим Управлением Генерального Штаба РФ. Если вы работаете с картами этого производителя, то с помощью такой разграфки вы легко можете определить количество и номенклатуру нужных вам топографических карт. Такие разграфки можно получить здесь:




Поделиться с друзьями:


Дата добавления: 2017-01-13; Просмотров: 460; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.015 сек.