按位置选择:图形示例
下表列出了按位置选择图层地理处理工具中提供的关系选项以及 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 空间关系以及像 INTERSECT_3D 和 WITHIN_A_DISTANCE_3D 这样的 3D 空间关系运算符。有关 3D 关系的详细信息,请参阅按位置选择 3D 关系。
Clementini 空间关系
WITHIN_CLEMENTINI 和 CONTAINS_CLEMENTINI 分别指的是“在某一范围内”和“包含”空间关系,以下文献对此类空间关系进行了定义:Clementini、Eliseo、Paolino Di Felice 以及 Peter van Oosterom,“适用于最终用户交互的形式化拓补关系的小集合”,第三届空间数据库研究进展国际研讨会的会议记录,第 277–295 页,1993 年 6 月 23–25。
三种“contains”空间关系之比较
边界定义:对于线来说,边界是两个端点;而对于面来说,边界即边。
- CONTAINS:在输入要素图层中选择满足以下条件的要素:包含选择的要素图层中的要素。选择的要素可位于输入要素图层的内部,也可位于输入要素图层的边界上。
- COMPLETELY_CONTAINS:在输入要素图层中选择满足以下条件的要素:包含选择的要素图层中的要素且该要素不与输入要素图层的边界相交。
- CONTAINS_CLEMENTINI:生成结果与 CONTAINS 的结果相同,区别在于:如果选择的要素图层中的要素完全处于输入要素图层的边界上,即所包含要素的任何部分均不位于输入要素图层中要素的内部,将不会选择该输入要素。CLEMENTINI 假定点的边界始终为空,线的边界为端点。
- 对点和多点输入使用 CONTAINS 和 CONTAINS_CLEMENTINI 会产生相同的结果,并且选择的要素为点或多点。
三种“within”空间关系之比较
- 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 |