Инструмент Получить новые местоположения используется для создания новых объектов на основе запроса. Запрос состоит из одного или нескольких выражений. Существует два типа выражений: атрибутивные и пространственные.
Примечание:
Основное отличие между инструментами Найти существующие местоположения (Find Existing Locations) и Получить новые местоположения (Derive New Locations) состоит в том, что результат работы инструмента Получить новые местоположения (Derive New Locations) может содержать части объектов.
- В обоих инструментах атрибутивное выражение where и пространственные выражения полностью в пределах (completely within) и полностью содержит (completely contains) возвращают одинаковый результат. Это происходит потому, что данные выражения возвращают целые объекты.
- При использовании пересекает (intersects) или в пределах расстояния (within a Distance of), Получить новые местоположения (Derive New Locations) создает в выходном слое новые объекты.
Пример атрибутивного выражения – название национального парка должно быть Yellowstone (where Name = 'Yellowstone NP'). Пример пространственного выражения состоит в том, что граница национального парка должна пересекать объекты слоя местообитаний рыси (National Parks intersects Lynx Habitat). Результат этого пространственного выражения показан на рисунке ниже.
После построения запроса, щелкните Запустить анализ (Run Analysis). Слой результатов будет содержать новые объекты, которые соответствуют условиям запроса.
Построение выражений
Чтобы построить выражение, щелкните кнопку Добавить выражение (Add Expression), чтобы открыть диалоговое окно Добавить выражение (Add Expression).
Атрибутивные выражения
Слои, которые можно использовать в выражении, перечислены ниже. Все слои в таблице содержания будут доступны. | |
Это тип выражения. Для атрибутивных выражений, выберите where (атрибутивный запрос). | |
Выберите в списке поле, к которому будет обращаться запрос. | |
Выберите оператор для выражения. | |
|
Примечание:
- Если к любому из слоев применен фильтр, в анализе будут использоваться только те объекты, которые удовлетворяют выражению фильтра.
Пространственные выражения
Пространственные выражения создаются при выборе таких типов выражения, как полностью внутри или пересекает (полный список приведен ниже).
Когда вы выбираете тип пространственного выражения, вид диалогового окна Добавить выражение (Add Expression) меняется в зависимости от этого типа.
Первый слой. | |
Тип пространственного выражения. Подробнее о каждом типе пространственных выражений см. ниже. | |
Второй слой. На карте имеются и другие слои. |
Пример законченного запроса
Ниже приведен пример из книги The Esri Guide to GIS Analysis. В этом примере необходимо получить новые области, являющиеся основными местами обитания горного льва, соответствующие набору критериев. Критерии мест обитания:
- Горные львы предпочитают пересеченную местность.
- Местность должна быть покрыта лесом.
- Местоположение должно быть в пределах 2 500 футов от ручья.
- Местоположение должно быть далее 2 500 футов от шоссе.
Ниже показан запрос инструмента Получить новые местоположения (Derive New Locations), основанный на вышеуказанных критериях, и использующий слои Vegetation, Slope, Streams и Highways:
Примечания:
- Порядок выражений влияет на результаты анализа.
- Вы можете группировать и разгруппировать выражения с помощью соответствующих кнопок . Чтобы создать группы, выберите два или более выражения и щелкните кнопку группировать. Более подробные сведения о группировке можно найти ниже.
- Если нажать кнопку переключить оператор на . Если нажать кнопку переключить оператор на .
Типы пространственных выражений
Пространственное выражение устанавливает отношение между двумя слоями. Если вам необходимо установить пространственное отношение между объектами одного слоя (например, вы хотите выбрать свободные участки на определенном расстоянии от промышленных участков), скопируйте слой участков и добавьте его на карту, чтобы получить два слоя с одинаковыми объектами.
В пределах расстояния / Вне пределов расстояния
Отношение В пределах расстояния использует прямолинейное расстояние между объектами первого и второго слоя.
- В пределах расстояния (Within a distance of) – новые объекты извлекаются из частей объектов первого слоя, которые находятся в пределах указанного расстояния от объекта во втором слое; например, во выходные данные будут включены только те фрагменты участков, которые находятся в пределах 100 метров от реки.
- Вне пределов расстояния (Not within a distance of) – новые объекты извлекаются для фрагментов объектов первого слоя, если они не находятся в пределах указанного расстояния от другого объекта; например, участки в пределах 100 метров от реки не будут включены в выходные данные. Это отношение можно также рассматривать как "дальше, чем".
Примечание:
- Расстояния вычисляются между ближайшими частями объектов. В примере выше, где растительность должна находиться в пределах 2500 футов от ручьев, для частей слоя растительности в пределах 2500 футов создаются новые объекты.
Полностью содержит / Не полностью содержит
Объект первого слоя удовлетворяет критерию, если он полностью окружает объект второго слоя. Ни одна часть объекта не может быть вне окружающего его объекта; однако, объект может только касаться окружающего его объекта (т.е., иметь общую точку на границе).
- Полностью содержит (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) – если объект первого слоя пересекает объект второго слоя, из выходных данных исключается фрагменты пересекающихся объектов.
Примеры:
- У вас имеется слой участков и слой с данными по наводнениям за 100 лет. Вы хотите определить общую площадь участков, которые находятся в зонах затопления. Следует использовать пересекает (intersects), для получения новых областей по всем участкам, которые пересекаются с зоной затопления.
- У вас имеется слой участков и слой с данными по наводнениям за 100 лет. Чтобы найти общую площадь участков, находящихся вне зоны затопления, определенной за 100 лет, следует использовать не пересекает (does not intersect).
Группировка
Два или более последовательных выражений могут быть сгруппированы вместе с помощью кнопки группировки . Выберите выражения для группировки, нажав клавишу Shift и щелкая выражения.
Вот пример, когда необходима группировка:
- У вас имеется точечный слой с местами, где находятся токсичные химикаты. Каждая точка имеет атрибут, CHEMICAL, содержащий название химического вещества, которое находится в этом месте.
- Вы хотите найти места с ртутью и селеном, находящиеся вблизи реки.
- Вы также хотите найти места с бензолом и свинцом, находящиеся вблизи парка.
В этом примере по одному слою токсичных отходов создаются два набора объектов: места рядом с парками и вблизи рек. Эта два набора отличаются.
Поскольку набор мест с токсичными веществами вблизи реки отличается от мест около парков, для создания запроса следует использовать группировку. На рисунке 1 показан исходный запрос без группировки или изменения логических операторов (они все ). Этот запрос позволяет получить места с токсичными веществами на расстоянии километра от парка и реки. Но это не та задача – необходимо получить два набора объектов, места на расстоянии километра от реки и отдельный набор мест на расстоянии километра от парка.
Чтобы создать запрос, который удовлетворяет описанным критериям, необходимо создать группы. Каждая группа формирует подзапрос, результаты которого объединяются с предыдущим выражением.
Начните с выбора первых двух атрибутивных выражений, как показано на рисунке 2.
После выбора двух атрибутивных выражений, щелкните кнопку Сгруппировать . Группа немного отодвигается, как показано рисунке 3.
Выберите вторую группу атрибутивных выражений, как показано на рисунке 3.
После выбора второй группы, щелкните кнопку Сгруппировать.
Наконец, выберите вторую группу атрибутивных выражений и пространственных выражений, к которым они относятся, как показано на рисунке 4.
Щелкните кнопку Сгруппировать и запрос немного отодвинется, как показано на рисунке 5. Последний шаг – переключить до , как показано на рисунке 5.
Запрос, показанный на рисунке 5, позволит получить необходимый результат.
- Найдены места со свинцом и бензолом, выделены те из них, которые находятся в пределах одного километра от парков.
- Затем, найдены места с селеном и ртутью, выделены те из них, которые находятся в пределах одного километра от реки.
- Наконец, два набора объектов объединяются с помощью логического .
Группировка выражений необходима только тогда, когда вам нужно создать два или более отдельных набора объектов по одному слою. Один из способов описания группировки – это представить, что без группировки необходимо дважды выполнить инструмент Найти существующие местоположения, первый раз для поиска мест около рек, а второй раз для поиска мест вблизи парков, затем объединить результаты с помощью инструмента Слияние.
Можно щелкнуть кнопку Текст, чтобы увидеть текстовое представление запроса. В текстовом представлении для обозначения групп используются скобки.