本主题将介绍按位置选择图层地理处理工具和空间连接地理处理工具中所提供的各种关系选项的示例和预期结果。
这些图形中包含三种形式的 WITHIN_A_DISTANCE 空间关系。
有关 INTERSECT_3D 和 WITHIN_A_DISTANCE_3D 关系的详细信息,请参阅按 3D 位置关系选择。
ArcMap、ArcScene 和 ArcGlobe 中的术语差异。
该部分仅适用于 ArcMap、ArcScene 和 ArcGlobe。不适用于 ArcGIS Pro。
在描述关系时,ArcMap、ArcScene 和 ArcGlobe 选择菜单中的按位置选择对话框所使用的术语并非与地理处理工具完全一致。下表包含相关的术语对照。
地理处理工具 | 选择\按位置选择 |
---|---|
INTERSECT | 目标图层要素与源图层要素相交。 |
INTERSECT_3D | 目标图层要素与源图层要素相交 (3d)。 |
WITHIN_A_DISTANCE_GEODESIC | 该选项不可用。 |
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 | 目标图层要素的质心在源图层要素内。 |
所有后续详细信息均使用按位置选择图层工具的术语进行描述。但这些详细信息也适用于空间连接工具。工具之间的参数名称差异如下:
- 按位置选择图层含输入要素图层;空间连接等同于目标要素。
- 按位置选择图层含选择要素;空间连接等同于连接要素。
- 按位置选择图层含关系;空间连接等同于匹配选项。
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 |
BOUNDARY_TOUCHES | C |
使用面来选择点
INTERSECT | A、C |
WITHIN | A、C |
COMPLETELY_WITHIN | A |
WITHIN_CLEMENTINI | A |
HAVE_THEIR_CENTER_IN | A、C |
BOUNDARY_TOUCHES | 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 |
BOUNDARY_TOUCHES | C、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 |
BOUNDARY_TOUCHES | C、E |
使用点来选择线
INTERSECT | A、C、D |
CONTAINS | A、C、D |
COMPLETELY_CONTAINS | A、D |
CONTAINS_CLEMENTINI | A、D |
HAVE_THEIR_CENTER_IN | D |
BOUNDARY_TOUCHES | C |
使用多点来选择线
INTERSECT | A、C、D、E |
CONTAINS | A、C、E |
COMPLETELY_CONTAINS | A |
CONTAINS_CLEMENTINI | A、E |
HAVE_THEIR_CENTER_IN | D |
BOUNDARY_TOUCHES | C、E |
使用线来选择线
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 | 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 |
BOUNDARY_TOUCHES | B |
使用多点来选择面
INTERSECT | A、B、C、E |
CONTAINS | A、B、E |
COMPLETELY_CONTAINS | A |
CONTAINS_CLEMENTINI | A、B |
HAVE_THEIR_CENTER_IN | A、D |
BOUNDARY_TOUCHES | E |
使用线来选择面
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 | 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 |