“按位置选择”图形示例

本主题将介绍按位置选择图层工具和空间连接工具中所提供的关系参数选项的示例和预期结果。

有关 3D 相交在某一 3D 距离范围内选项的详细信息,请参阅按位置选择:3D 关系

术语

对话关键字Python 关键字

相交

INTERSECT

3D 相交

INTERSECT_3D

相交 (DBMS)

INTERSECT_DBMS

在某一测地线距离范围内

WITHIN_A_DISTANCE_GEODESIC

在某一距离范围内

WITHIN_A_DISTANCE

在某一 3D 距离范围内

WITHIN_A_DISTANCE_3D

包含

CONTAINS

完全包含

COMPLETELY_CONTAINS

Clementini 包含

CONTAINS_CLEMENTINI

位于

WITHIN

完全位于

COMPLETELY_WITHIN

Clementini 位于

WITHIN_CLEMENTINI

与其他要素相同

ARE_IDENTICAL_TO

边界接触

BOUNDARY_TOUCHES

与其他要素共线

SHARE_A_LINE_SEGMENT_WITH

与轮廓交叉

CROSSED_BY_THE_OUTLINE_OF

中心在要素范围内

HAVE_THEIR_CENTER_IN

所有后续详细信息均使用按位置选择图层工具的术语进行描述。 但这些详细信息也适用于空间连接工具。 工具之间的参数名称差异如下:

  • 按位置选择图层工具具有输入要素图层参数;而空间连接工具的等效参数为目标要素
  • 按位置选择图层工具具有选择要素参数;而空间连接工具的等效参数为连接要素
  • 按位置选择图层工具具有关系参数;而空间连接工具的等效参数为匹配选项

Clementini 空间关系

Clementini 位于以及 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" 空间关系之比较

对于线来说,边界是两个端点;而对于面来说,边界即边。

  • 包含 - 在输入要素图层中选择满足以下条件的要素:包含选择的要素图层中的要素。 选择的要素可位于输入要素图层的内部,也可位于输入要素图层的边界上。
  • 完全包含 - 在输入要素图层中选择满足以下条件的要素:包含选择的要素图层中的要素且该要素不与输入要素图层的边界相交。
  • Clementini 包含 - 其结果与包含选项相同,唯一的区别在于:如果选择的要素图层中的要素完全处于输入要素图层的边界上,即所包含要素的任何部分均不位于输入要素图层中要素的内部,将不会选择该输入要素。 Clementini 假定点的边界始终为空,线的边界为端点。

对点和多点输入使用包含Clementini 包含 选项会产生相同的结果,并且选择的要素为点或多点。

三种 "within" 空间关系之比较

  • 位于 - 在输入要素图层中选择满足以下条件的要素:位于或包含在选择的要素图层中的要素内。
  • 完全位于 - 生成结果与位于选项的结果相同,但输入要素图层中的要素与选择的要素图层中的要素的边界相交时则例外,此时将不选择该要素。
  • Clementini 位于 - 其结果与位于选项的结果相同,但输入要素图层中的要素完全位于选择的要素图层中的要素边界上时则例外。 Clementini 假定点的边界始终为空,线的边界为端点。

图形的图例

下列图例适用于以下所有示例:

  • 输入要素 - 绿色圆圈
  • 输入要素的中心 - 红色 X
  • 选择要素 - 灰色方块

图形使用 A、B、C 等字母依次进行标注。 对几何组合有效的各种关系选项(相交包含等)将在表的左列列出。 针对相应关系可能选择的几何将在表的右列列出。

使用点来选择点

使用点来选择点

相交

A

相交 (DBMS)

A

包含

A

Clementini 包含

A

位于

A

Clementini 位于

A

与其他要素相同

A

中心在要素范围内

A

使用点表来选择点

使用多点来选择点

使用多点来选择点

相交

A、C

相交 (DBMS)

A、C

包含

A

Clementini 包含

A

位于

A、C

Clementini 位于

A、C

与其他要素相同

A

中心在要素范围内

A、C

使用多点表来选择点

使用线来选择点

使用线来选择点

相交

A、C

相交 (DBMS)

A、C

位于

A、C

完全位于

A

Clementini 位于

A

中心在要素范围内

A、C

边界接触

C

使用线表来选择点

使用面来选择点

使用面来选择点

相交

A、C

相交 (DBMS)

A、C

位于

A、C

完全位于

A

Clementini 位于

A

中心在要素范围内

A、C

边界接触

C

使用面表来选择点

使用点来选择多点

使用点来选择多点

相交

A、C

相交 (DBMS)

A、C

包含

A、C

Clementini 包含

A、C

位于

A

Clementini 位于

A

与其他要素相同

A

中心在要素范围内

A、D

使用点表来选择多点

使用多点来选择多点

使用多点来选择多点

相交

A、C、D、E、F

相交 (DBMS)

A、C、D、E、F

包含

A、F

Clementini 包含

A、F

位于

A、C

Clementini 位于

A、C

与其他要素相同

A

中心在要素范围内

A、D

使用多点表来选择多点

使用线来选择多点

使用线来选择多点

相交

A、C、E、F

相交 (DBMS)

A、C、E、F

位于

A、C、E

完全位于

A

Clementini 位于

A、E

中心在要素范围内

A、D、E

边界接触

C、E

使用线表来选择多点

使用面来选择多点

使用面来选择多点

相交

A、C、D、E、F

相交 (DBMS)

A、C、D、E、F

位于

A、C、D、E

完全位于

A

Clementini 位于

A、D、E

中心在要素范围内

A、B、C、E、F

边界接触

C、E

使用面表来选择多点

使用点来选择线

使用点来选择线

相交

A、C、D

相交 (DBMS)

A、C、D

包含

A、C、D

完全包含

A、D

Clementini 包含

A、D

中心在要素范围内

D

边界接触

C

使用点表来选择线

使用多点来选择线

使用多点来选择线

相交

A、C、D、E

相交 (DBMS)

A、C、D、E

包含

A、C、E

完全包含

A

Clementini 包含

A、E

中心在要素范围内

D

边界接触

C、E

使用多点表来选择线

使用线来选择线

使用线来选择线

相交

A、C、D、E、F、G、H、I、J

相交 (DBMS)

A、C、D、E、F、G、H、I、J

包含

G、H

完全包含

G

Clementini 包含

G、H

位于

F、H

完全位于

F

Clementini 位于

F、H

与其他要素相同

H

边界接触

C、E

与其他要素共线

F、G、H、I、J

使用线表来选择线

使用面来选择线

使用面来选择线

相交

A、C、D、E、F、G、H、I、J、K、L、M、N、O

相交 (DBMS)

A、C、D、E、F、G、H、I、J、K、L、M、N、O

位于

A、D、G、H、I、O

完全位于

A

Clementini 位于

A、D、G、H、I

边界接触

F、G、H、I、K、L、M、N、O

与其他要素共线

G、I、J、K、M、O

与轮廓交叉

C、E、H、L、N

中心在要素范围内

A、C、D、E、G、H、I、J、O

使用面表来选择线

使用点来选择面

使用点来选择面

相交

A、B

相交 (DBMS)

A、B

包含

A、B

完全包含

A

Clementini 包含

A

中心在要素范围内

A、D

边界接触

B

使用点表来选择面

使用多点来选择面

使用多点来选择面

相交

A、B、C、E

相交 (DBMS)

A、B、C、E

包含

A、B、E

完全包含

A

Clementini 包含

A、B

中心在要素范围内

A、D

边界接触

使用多点表来选择面

使用线来选择面

使用线来选择面

相交

A、C、D、E、F、G、H、I、J、K、L、M、N、O

相交 (DBMS)

A、C、D、E、F、G、H、I、J、K、L、M、N、O

包含

A、D、G、H、I、O

完全包含

A

Clementini 包含

A、D、G、H、I

边界接触

F、G、H、I、K、L、M、N、O

与其他要素共线

G、I、J、K、M、O

与轮廓交叉

C、E、H、L、N

中心在要素范围内

E、I、L

使用线表来选择面

使用面来选择面

使用面来选择面

相交

A、C、D、E、F、G、H、I、J、K、M

相交 (DBMS)

A、C、D、E、F、G、H、I、J、K、M

包含

C、E、H、M

完全包含

C

Clementini 包含

C、E、H、M

位于

F、G、H、M

完全位于

F

Clementini 位于

F、G、H、M

与其他要素相同

H、M

边界接触

D、E、G、H、I、J、M

与其他要素共线

D、H、I、M

与轮廓交叉

A、E、G、J、K

中心在要素范围内

C、E、F、G、H、K、L

使用面表来选择面

相关主题