Инструмент Найти существующие местоположения используется для поиска объектов в слое анализа на основе запроса. Запрос состоит из одного или нескольких выражений. Существует два типа выражений: атрибутивные и пространственные.
Пример атрибутивного выражения – участок должен быть свободен, что является атрибутом слоя Parcels (where STATUS = 'VACANT'). Пример пространственного выражения – участок должен быть на определенном расстоянии от реки (Parcels within a distance of 0.75 Miles from Rivers (Участки на расстоянии до 0.75 мили от рек)).
После построения запроса, щелкните Запустить анализ (Run Analysis). Слой результатов будет содержать те объекты из слоя анализа, которые соответствуют условиям запроса.
Построение выражений
Чтобы построить выражение, щелкните кнопку Добавить выражение (Add Expression), чтобы открыть диалоговое окно Добавить выражение (Add Expression).
Атрибутивные выражения
Слои, которые можно использовать в выражении, перечислены ниже. Вначале имеется только слой анализа. После установки пространственных отношений с другими слоями (например, Parcels completely within City Boundaries (Участки полностью входят в границы города)), в ниспадающем меню появятся другие слои. | |
Это тип выражения. Для атрибутивных выражений, выберите where (атрибутивный запрос). | |
Выберите в списке поле, к которому будет обращаться запрос. | |
Выберите оператор для выражения. | |
|
Примечание:
- Если к любому из слоев применен фильтр, в анализе будут использоваться только те объекты, которые удовлетворяют выражению фильтра.
Пространственные выражения
Пространственные выражения создаются при выборе таких типов выражения, как полностью внутри или пересекает (полный список приведен ниже).
Когда вы выбираете тип пространственного выражения, вид диалогового окна Добавить выражение (Add Expression) меняется в зависимости от этого типа.
Первый слой. Вначале имеется только слой анализа. После установки пространственных отношений с другими слоями (например, Parcels completely within Community Boundaries (Участки полностью входят в границы сообщества)), в ниспадающем меню появятся другие слои. | |
Тип пространственного выражения. Подробнее о каждом типе пространственного выражения см. ниже. | |
Второй слой. На карте имеются и другие слои. |
Пример законченного запроса
Ниже приведен пример из книги Understanding GIS, An ArcGIS Project Workbook. В книге описывается процесс поиска свободных участков в Лос-Анджелесе, подходящих для создания общественных парков. Критерии для подходящих мест включают следующее:
- Участок должен быть свободен.
- Он должен находится в пределах границ Лос-Анджелеса.
- Он должен быть больше одного акра.
- Некоторые части участка должны быть не далее 0.75 миль от реки Лос-Анджелес.
- Участок должен располагаться не ближе 0.25 мили от имеющихся парков.
Ниже показан инструмент Найти существующие местоположения с запросом, основанным на вышеуказанных критериях, и использующем слои Parcels, Rivers и City Boundaries:
Примечания:
- Порядок выражений не влияет на результаты анализа.
- Вы можете сгруппировать и разгруппировать выражения с помощью соответствующих кнопок . Чтобы создать группы, выберите два или более выражений и щелкните кнопку сгруппировать. Более подробные сведения о группировке можно найти ниже.
- Если нажать кнопку переключить оператор на . Если нажать кнопку переключить оператор на .
Типы пространственных выражений
Пространственное выражение устанавливает отношение между двумя слоями. Если вам необходимо установить пространственное отношение между объектами одного слоя (например, вы хотите выбрать свободные участки на определенном расстоянии от промышленных участков), скопируйте слой участков и добавьте его на карту, чтобы получить два слоя с одинаковыми объектами.
В пределах расстояния / Вне пределов расстояния
Отношение В пределах расстояния использует прямолинейное расстояние между объектами первого и второго слоя.
- В пределах расстояния (Within a distance of) – объекты первого слоя выделяются (включаются в выходные), если любая их часть находится в пределах указанного расстояния от объекта во втором слое; например, участки в пределах 100 метров от реки будут включены в выходные данные.
- Вне пределов расстояния (Not within a distance of) – объекты первого слоя исключаются (не включаются в выходные данные), если любая их часть находится в пределах указанного расстояния от другого объекта; например, участки в пределах 100 метров от реки не будут включены в выходные данные. Это отношение можно также рассматривать как "дальше, чем".
Примечание:
- Расстояния вычисляются между ближайшими частями объектов. В примере выше, где участки должны быть в пределах 0.75 мили от реки Лос-Анджелес, участки выделяются, если любая их часть находится в пределах 0.75 мили. Если необходим критерий, по которому весь участок должен находится в пределах 0.75 мили, следует использовать инструмент Создать буферы с расстоянием 0.75 мили вокруг реки Лос-Анджелес, чтобы создать новый слой. Затем следует создать выражение, в котором участки будут полностью входить в буферный слой.
Полностью содержит / Не полностью содержит
Объект первого слоя проходит эту проверку, если он полностью окружает объект второго слоя. Никакая часть объекта не может быть вне окружающего его объекта; однако, объект может только касаться окружающего его объекта (т.е., иметь общую точку на границе).
- Полностью содержит (Completely contains) – если объект первого слоя содержит объект второго слоя, объект первого слоя включается в выходные данные.
- Не полностью содержит (Does not completely contain) – если объект первого слоя содержит объект второго слоя, объект первого слоя не включается в выходные данные.
Примеры:
- У вас есть слой участков (первый слой) и другой слой с точечными объектами, представляющими скважины (второй слой), вы хотите найти участки со скважинами. Следует использовать полностью содержит (completely contains) для поиска участков со скважинами.
- У вас имеется слой участков и точечный слой с местами складирования токсичных отходов. Необходимо найти участки, не содержащие токсичных отходов. Следует использовать не полностью содержит (does not completely contain), чтобы найти участки без токсичных отходов.
Примечание:
- Можно использовать отношение "содержит" с точками и линиями. Например, у вас есть слой центральных линий улиц (линии) и слой канализационных люков (точки), вы хотите найти улицы с люками. Используйте полностью содержит (completely contains), чтобы найти улицы с люками, но, чтобы линия содержала точку, точка должна быть точно на ней (т.е., в терминах ГИС, они должны быть замкнуты). Если на этот счет имеются сомнения, используйте отношение в пределах расстояния (within a distance of) с подходящим значением.
Полностью в пределах / Не полностью в пределах
Объект первого слоя проходит эту проверку, если он полностью окружен объектом второго слоя. Весь объект первого слоя должен быть внутри окружающего его объекта; однако, два объекта могут только касаться (т.е., иметь общую точку на границе).
- Полностью в пределах (Completely within) – если объект первого слоя полностью входит в объект второго слоя, объект первого слоя включается в выходные данные.
- Не полностью в пределах (Not completely within) – если объект первого слоя полностью входит в объект второго слоя, объект первого слоя не включается в выходные данные.
Примеры:
- У вас есть слой домов для продажи (точки) и слой с определенным школьным округом, вы хотите найти только те дома, которые находятся полностью в пределах (completely within) школьного округа.
- У вас есть слой свободных участков (первый слой) и другой слой с границами города (второй слой). Необходимо найти свободные участки, находящиеся вне границ города. Следует использовать не полностью в пределах (not completely within), чтобы найти участки вне пределов (снаружи) границ города.
Примечание:
- Вы можете использовать отношение "в пределах" для точек и линий, так же, как и отношение "содержит". Например, ваш первый слой содержит точки канализационных люков и вы хотите найти люки на центральных линиях улиц (но не на парковках или других объектах). Используйте полностью в пределах (completely within), чтобы найти люки на улицах, но, чтобы линия содержала точку, точка должна быть точно на ней (т.е., в терминах ГИС, они должны быть замкнуты). Если на этот счет имеются сомнения, используйте отношение в пределах расстояния (within a distance of) с подходящим значением.
Пересекает / Не пересекает
Объект первого слоя проходит проверку на пересечение, если он перекрывает любую часть объекта второго слоя, в том числе касается его (объекты с общей точкой).
- Пересекает (Intersects) – если объект первого слоя пересекает объект второго слоя, объект первого слоя включается в выходные данные.
- Не пересекает (Does not intersect) – если объект первого слоя пересекает объект второго слоя, объект первого слоя не включается в выходные данные.
Примеры:
- У вас имеется слой участков и слой рек. Вы хотите найти участки по которым протекает река постоянного стока, или участки, которые касаются ее. Следует использовать пересекает (intersects), чтобы найти участки с протекающими по ним реками.
- У вас имеется слой участков и слой с данными по наводнениям за 100 лет. Чтобы найти участки, которые в течение 100 лет никогда не затапливались, следует использовать не пересекает (does not intersect).
Группировка
Два или более последовательных выражений могут быть сгруппированы вместе с помощью кнопки группировки . Выберите выражения для группировки, нажав клавишу Shift и щелкая выражения.
Вот пример, когда необходима группировка:
- У вас имеется точечный слой с местами, где находятся токсичные химикаты. Каждая точка имеет атрибут, CHEMICAL, содержащий название химического вещества, которое находится в этом месте.
- Вы хотите найти места с ртутью и селеном, находящиеся вблизи реки.
- Вы также хотите найти места с бензолом и свинцом, находящиеся вблизи парка.
В этом примере по одному слою токсичных отходов создаются два набора объектов: места рядом с парками и вблизи рек. Эта два набора отличаются.
Поскольку набор мест с токсичными веществами вблизи реки отличается от мест около парков, для создания запроса следует использовать группировку. На рисунке 1 показан исходный запрос без группировки или изменения логических операторов (они все ). Этот запрос позволяет получить места с токсичными веществами на расстоянии километра от парка и реки. Но это не та задача – необходимо получить два набора объектов, места на расстоянии километра от реки и отдельный набор мест на расстоянии километра от парка.
Чтобы создать запрос, который удовлетворяет описанным критериям, необходимо создать группы. Каждая группа формирует подзапрос, результаты которого объединяются с предыдущим выражением.
Начните с выбора первых двух атрибутивных выражений, как показано на рисунке 2.
После выбора двух атрибутивных выражений, щелкните кнопку Сгруппировать . Группа немного отодвигается, как показано рисунке 3.
Выберите вторую группу атрибутивных выражений, как показано на рисунке 3.
После выбора второй группы, щелкните кнопку Сгруппировать.
Наконец, выберите вторую группу атрибутивных выражений и пространственных выражений, к которым они относятся, как показано на рисунке 4.
Щелкните кнопку Сгруппировать и запрос немного отодвинется, как показано на рисунке 5. Последний шаг – переключить до , как показано на рисунке 5.
Запрос, показанный на рисунке 5, позволит получить необходимый результат.
- Найдены места со свинцом и бензолом, выделены те из них, которые находятся в пределах одного километра от парков.
- Затем, найдены места с селеном и ртутью, выделены те из них, которые находятся в пределах одного километра от реки.
- Наконец, два набора объектов объединяются с помощью логического .
Группировка выражений необходима только тогда, когда вам нужно создать два или более отдельных набора объектов по одному слою. Один из способов описания группировки – это представить, что без группировки необходимо дважды выполнить инструмент Найти существующие местоположения, первый раз для поиска мест около рек, а второй раз для поиска мест вблизи парков, затем объединить результаты с помощью инструмента Слияние.
Можно щелкнуть кнопку Текст, чтобы увидеть текстовое представление запроса. В текстовом представлении для обозначения групп используются скобки.