Выбрать по расположению: графические примеры
Приведенная ниже таблица содержит список возможных Отношений (Relationship), доступных в инструменте геообработки Выбрать в слое по расположению и эквивалентные отношения, содержащиеся в диалоге Выбрать по расположению... в меню Выборка в ArcMap, ArcScene и ArcGlobe.
Инструмент геообработки |
Выборка\Выбрать по расположению… |
---|---|
INTERSECT (пересечь) |
Объекты целевого слоя (слоев) пересекают объект исходного слоя. |
INTERSECT_3D |
Объекты целевого слоя (слоев) пересекают (3D) объект исходного слоя. |
WITHIN_A_DISTANCE |
Пространственные объекты целевого слоя (слоев) находятся в пределах заданного расстояния от объекта исходного слоя |
WITHIN_A_DISTANCE_3D |
Пространственные объекты целевого слоя (слоев) находятся в пределах заданного расстояния от (3D) объекта исходного слоя |
CONTAINS (содержит) |
Пространственные объекты целевого слоя (слоев) содержат объект исходного слоя |
COMPLETELY_CONTAINS |
Пространственные объекты целевого слоя (слоев) полностью содержат объект входного слоя |
CONTAINS_CLEMENTINI |
Объекты целевого слоя (слоев) содержат объекты (Clementini) исходного слоя |
WITHIN (внутри) |
Объекты целевого слоя (слоев) находятся внутри объекта исходного слоя |
COMPLETELY_WITHIN |
Объекты целевого слоя (слоев) находятся полностью внутри объекта исходного слоя |
WITHIN_CLEMENTINI |
Объекты целевого слоя (слоев) находятся внутри (Clementini) объекта исходного слоя |
ARE_IDENTICAL_TO |
Объекты целевого слоя (слоев) идентичны объекту исходного слоя |
BOUNDARY_TOUCHES (касаются границы) |
Объекты целевого слоя (слоев) касаются границы объекта исходного слоя |
SHARE_A_LINE_SEGMENT_WITH (имеют общий линейный сегмент с) |
Объекты целевого слоя (слоев) имеют общий линейный сегмент с объектом исходного слоя |
CROSSED_BY_THE_OUTLINE_OF (пересекаются контуром) |
Пространственные объекты целевого слоя (слоев) пересекаются контуром объекта исходного слоя |
HAVE_THEIR_CENTER_IN (имеют центр внутри) |
Объекты целевого слоя (слоев) имеют центр внутри объекта исходного слоя |
Пространственные отношения WITHIN_A_DISTANCE и операторы 3D пространственных отношений, таких, как INTERSECT_3D и WITHIN_A_DISTANCE_3D, не включены в примеры ниже. Подробные сведения по 3D отношениям можно посмотреть в разделе Отношения Выборка по расположению 3D (Select By Location 3D relationships).
Пространственные отношения Clementini.
WITHIN_CLEMENTINI и CONTAINS_CLEMENTINI относятся к внутренней части и содержат пространственные отношения, определенные в следующем документе: «Clementini, Eliseo, Paolino Di Felice, and Peter van Oosterom, «A Small Set of Formal Topological Relationships Suitable for End-User Interaction,» Proceedings of the Third International Symposium on Advances in Spatial Databases, » 277–295, June 23–25, 1993.
Контраст трех «содержит» пространственные отношения
Определение границы. Для линий граница — это две конечных точки; для полигонов — это ребро.
- CONTAINS: выбирает объекты во входном векторном слое, которые содержат объект в выбирающем векторном слое. Выбранные пространственные объекты могут быть как внутри, так и на границе входного векторного слоя.
- COMPLETELY_CONTAINS: выбирает объекты во входном векторном слое, которые содержат объект в выбирающем векторном слое, до тех пор, пока объект в выбирающем векторном слое не пересечет границу входного векторного слоя.
- CONTAINS_CLEMENTINI: результаты идентичны CONTAINS с одним исключением. Если объект в выбранном векторном слое полностью находится на границе входного векторного слоя, где ни одна часть содержащегося объекта не находится внутри объекта входного векторного слоя, входной объект не будет выбран. CLEMENTINI устанавливает, что граница точки всегда пустая, а граница линии - конечные точки.
- CONTAINS и CONTAINS_CLEMENTINI производит идентичные результаты с точечными и мультиточечными входными данными, и выбираемыми объектами будут точки и мультиточки.
Контраст трех «в рамках» пространственных отношений
- WITHIN: выбирает объекты во входном векторном слое, которые находятся внутри выбирающего векторного слоя или содержащихся в нем объектов.
- COMPLETELY_WITHIN: результат идентичен WITHIN с одним исключением. Если объект во входном векторном слое пересекает границу объекта в выбирающем векторном слое, тогда он не выбирается.
- WITHIN_CLEMENTINI: результат идентичен WITHIN за исключением случаев, когда весь объект во входном векторном слое находится на границе объекта в выбирающем векторном слое. CLEMENTINI устанавливает, что граница точки всегда пустая, а граница линии - конечные точки.
Легенда диаграмм
Для всех примеров диаграмм ниже, применяется следующая легенда:
- Входной объект: зеленый
- Центр входного объекта: красный X
- Выбор объекта: серый
Диаграммы подписаны A, B, C и т. д. Каждое отношение (INTERSECT, CONTAINS и т. д.), действительное для комбинации геометрий, находится в списке в левом столбце таблицы. Геометрические случаи, которые будут выбраны для этого отношения, перечислены в правом столбце таблицы.
Выбрать точки, используя точки
INTERSECT (пересечь) |
A |
CONTAINS (содержит) |
A |
CONTAINS_CLEMENTINI |
A |
WITHIN (внутри) |
A |
WITHIN_CLEMENTINI |
A |
ARE_IDENTICAL_TO |
A |
HAVE_THEIR_CENTER_IN |
A |
Выбрать точки, используя мультиточки
INTERSECT (пересечь) |
A, C |
CONTAINS (содержит) |
A |
CONTAINS_CLEMENTINI |
A |
WITHIN (внутри) |
A, C |
WITHIN_CLEMENTINI |
A, C |
ARE_IDENTICAL_TO |
A |
HAVE_THEIR_CENTER_IN |
A, C |
Выбрать точки, используя линии
INTERSECT (пересечь) |
A, C |
WITHIN (внутри) |
A, C |
COMPLETELY_WITHIN |
A |
WITHIN_CLEMENTINI |
A |
HAVE_THEIR_CENTER_IN |
A, C |
Выбрать точки, используя полигоны
INTERSECT (пересечь) |
A, C |
WITHIN (внутри) |
A, C |
COMPLETELY_WITHIN |
A |
WITHIN_CLEMENTINI |
A |
HAVE_THEIR_CENTER_IN |
A, C |
Выбрать мультиточки, используя точки
INTERSECT (пересечь) |
A, C |
CONTAINS (содержит) |
A, C |
CONTAINS_CLEMENTINI |
A, C |
WITHIN (внутри) |
A |
WITHIN_CLEMENTINI |
A |
ARE_IDENTICAL_TO |
A |
HAVE_THEIR_CENTER_IN |
A, D |
Выбрать мультиточки, используя мультиточки
INTERSECT (пересечь) |
A, C, E, F |
CONTAINS (содержит) |
A, F |
CONTAINS_CLEMENTINI |
A, F |
WITHIN (внутри) |
A, C |
WITHIN_CLEMENTINI |
A, C |
ARE_IDENTICAL_TO |
A |
HAVE_THEIR_CENTER_IN |
A, D |
Выбрать мультиточки, используя линии
INTERSECT (пересечь) |
A, C, E, F |
WITHIN (внутри) |
A, C, E |
COMPLETELY_WITHIN |
A |
WITHIN_CLEMENTINI |
A, E |
HAVE_THEIR_CENTER_IN |
A, D, E |
Выбрать мультиточки, используя полигоны
INTERSECT (пересечь) |
A, C, D, E, F |
WITHIN (внутри) |
A, C, D, E |
COMPLETELY_WITHIN |
A |
WITHIN_CLEMENTINI |
A, D, E |
HAVE_THEIR_CENTER_IN |
A, B, C, E, F |
Выбрать линии, используя точки
INTERSECT (пересечь) |
A, C, D |
CONTAINS (содержит) |
A, C, D |
COMPLETELY_CONTAINS |
A, D |
CONTAINS_CLEMENTINI |
A, D |
HAVE_THEIR_CENTER_IN |
D |
Выбрать линии, используя мультиточки
INTERSECT (пересечь) |
A, C, D, E |
CONTAINS (содержит) |
A, C, E |
COMPLETELY_CONTAINS |
A |
CONTAINS_CLEMENTINI |
A, E |
HAVE_THEIR_CENTER_IN |
D |
Выбрать линии, используя линии
INTERSECT (пересечь) |
A, C, D, E, F, G, H, I, J |
CONTAINS (содержит) |
G, H |
COMPLETELY_CONTAINS |
G |
CONTAINS_CLEMENTINI |
G, H |
WITHIN (внутри) |
F, H |
COMPLETELY_WITHIN |
F |
WITHIN_CLEMENTINI |
F, H |
ARE_IDENTICAL_TO |
H |
BOUNDARY_TOUCHES |
C, E |
Выбрать линии, используя полигоны
INTERSECT (пересечь) |
A, C, D, E, F, G, H, I, J, K, L, M, N, O |
WITHIN (внутри) |
A, D, G, H, I, O |
COMPLETELY_WITHIN |
A |
WITHIN_CLEMENTINI |
A, D, G, H, I |
BOUNDARY_TOUCHES |
D, F, G, H, I, K, L, M, N, O |
SHARE_A_LINE_SEGMENT_WITH |
G, I, J, K, M, O |
CROSSED_BY_THE_OUTLINE_OF |
C, E, H, L, N |
HAVE_THEIR_CENTER_IN |
A, C, D, E, G, H, I, J, O |
Выбрать полигоны, используя точки
INTERSECT (пересечь) |
A, B |
CONTAINS (содержит) |
A, B |
COMPLETELY_CONTAINS |
A |
CONTAINS_CLEMENTINI |
A |
HAVE_THEIR_CENTER_IN |
A, D |
Выбрать полигоны, используя мультиточки
INTERSECT (пересечь) |
A, B, C, E |
CONTAINS (содержит) |
A, B, E |
COMPLETELY_CONTAINS |
A |
CONTAINS_CLEMENTINI |
A, B |
HAVE_THEIR_CENTER_IN |
A, D |
Выбрать полигоны, используя линии
INTERSECT (пересечь) |
A, C, D, E, F, G, H, I, J, K, L, M, N, O |
CONTAINS (содержит) |
A, D, G, H, I, O |
COMPLETELY_CONTAINS |
A |
CONTAINS_CLEMENTINI |
A, D, G, H, I |
BOUNDARY_TOUCHES |
D, F, G, H, I, K, L, M, N, O |
SHARE_A_LINE_SEGMENT_WITH |
G, I, J, K, M, O |
CROSSED_BY_THE_OUTLINE_OF |
C, E, H, L, N |
HAVE_THEIR_CENTER_IN |
E, I, L |
Выбрать полигоны, используя полигоны
INTERSECT (пересечь) |
A, C, D, E, F, G, H, I, J, K, M |
CONTAINS (содержит) |
C, E, H, M |
COMPLETELY_CONTAINS |
C |
CONTAINS_CLEMENTINI |
C, E, H, M |
WITHIN (внутри) |
F, G, H, M |
COMPLETELY_WITHIN |
F |
WITHIN_CLEMENTINI |
F, G, H, M |
ARE_IDENTICAL_TO |
H, M |
BOUNDARY_TOUCHES |
D, E, G, H, I, J, M |
SHARE_A_LINE_SEGMENT_WITH |
D, H, I, M |
CROSSED_BY_THE_OUTLINE_OF |
A, E, G, J, K |
HAVE_THEIR_CENTER_IN |
C, E, F, G, H, K, L |