需要 Data Reviewer 许可。
在地图显示中,您可以查找在空间上相互关联的要素,无论它们是土地要素上的公路还是草地环绕的湖泊。相同要素类中的要素可以相互重叠并共享属性。几何重叠校验用于从同一个要素类中或共享空间关系的两个不同要素类中搜索要素。
空间关系类型
可以用于该检验的关系类型包括:
- 接触 - 要素类 1 中要素的一部分与要素类 2 中要素的边界相接触。要素的内部并不相交。
- 包含 - 要素类 1 中的要素完全包围要素类 2 中的要素。
- 相交 - 要素类 1 中要素的所有部分均与要素类 2 中要素的所有部分接触。
- 关联 - 根据两个要素类中要素的内部、边界和外部定义自定义空间关系。
- 包含于 - 要素类 2 中的要素完全包围要素类 1 中的要素。
- 交叉 - 要素类 1 中要素的内部与要素类 2 中要素的内部或边界(如果为面)在某一点接触。
- 重叠 - 要素类 1 中的要素的内部部分覆盖要素类 2 中的要素。仅可对几何相同的要素进行比较。
下表中列出了可以使用的几何类型与空间关系的组合:
要素类 1 | 要素类 2 | 可兼容的空间关系类型 |
---|---|---|
点 | 点 |
|
点 | 多点 |
|
点 | 线 |
|
点 | 面 |
|
多点 | 点 |
|
多点 | 多点 |
|
多点 | 线 |
|
多点 | 面 |
|
线 | 点 |
|
线 | 多点 |
|
线 | 线 |
|
线 | 面 |
|
面 | 点 |
|
面 | 多点 |
|
面 | 线 |
|
面 | 面 |
|
除空间分析之外,利用“比较属性”对话框可以选择性地允许对要素类之间的属性进行比较。例如,在 Nautical S-57 数据模型中,深部区域面的测探点必须具有深度 (z) 字段值,并且该字段值必须在包含它们的深度区域面中指定的最小和最大深度 (z) 字段值之间。SQL WHERE 子句可以在“比较属性”对话框中构建,以随空间分析对要素执行属性比较。
相交或接触与结果几何
如果要素来自同一个要素类或共享空间关系的两个不同要素类,则几何重叠校验将创建结果几何。如果该校验使用“相交”或“接触”空间关系,则结果几何将为点。例如,如果将几何重叠校验配置为使用相交运算符来验证两个面要素类,则所有结果几何都将为点。结果点将创建在两个要素类中的相交面的位置处。
反关系
通过几何重叠校验,您还可以找到不共享指定的空间关系或空间和属性关系的要素。这种情况下,校验会找到校验中共享定义的空间关系或空间和属性关系的要素,然后从要素类 1 和要素类 2 返回不符合条件的要素。
这种情况的简单情景是与湖泊相交的河流。该校验可用于查找未与任何湖泊相交的河流和未与河流相交的湖泊。通过配置校验来查找此关系,只需您定义两种要素类的空间关系并选中不 - 查找不在此关系中的要素复选框。
例如,您可以查找不相交且共享相同子类型代码的线和面。这意味着如果线与不同子类型代码的面相交,则会返回此线作为结果。若线根本不与任何要素相交,但属不同子类型,也将被返回。要配置校验以查找此反关系,请执行以下操作:
- 定义要素类 1 和要素类 2 的空间关系。
- 设置属性比较,使数据源 1 的子类型等于数据源 2 的子类型。
- 选中不 - 查找不在此关系中的要素复选框。
可以使用“包含”、“交叉”、“相交”、“重叠”、“关联”、“接触”和“包含于”关系类型来查找反关系。
“关联”空间关系
您选择“关联”作为空间关系类型时,可以根据以下三个方面对两个形状之间的任何空间相交进行比较:
- 内部 - 除边界以外的整个形状。所有几何类型均具有内部。
- 边界 - 线要素的所有线性部分的端点,或者面的线性轮廓。仅线和面具有边界。
- 外部 - 形状的外部区域。所有几何类型均具有外部。
使用由以下字符构成的、包含 9 个字符的字符串定义空间关系:
- T(真)- 要素具有相交的内部、边界和/或外部。
- F(假)- 要素不具有相交的内部、边界和/或外部。
- 0(没有维度)- 要素的内部、边界和/或外部的相交形成点。
- 1(一维)- 要素的内部、边界和/或外部的相交形成线。
- 2(二维)- 要素的内部、边界和/或外部的相交形成面。
- *(不校验)- 不校验内部、边界和/或外部之间关系的某方面。
各字符的放置非常重要,因为它代表要在两个要素之间校验的对象。例如,如果字符串中的第一个字符为 T,几何重叠校验便会查看两个要素类中要素的内部是否相交;如果字符串中的第一个字符为 0,该校验便会返回其内部在某个点交叉的两个线要素,而不是具有任意关联长度的两个线要素。
字符的顺序如下:
字符编号 | 要素类 1 | 要素类 2 |
---|---|---|
1 | 内部 | 内部 |
2 | 内部 | 边界 |
3 | 内部 | 外部 |
4 | 边界 | 内部 |
5 | 边界 | 边界 |
6 | 边界 | 外部 |
7 | 外部 | 内部 |
8 | 外部 | 边界 |
9 | 外部 | 外部 |
下表列出了可用于查找特定关系的特定模式:
空间关系 | 选择几何 | 请求的几何 | 字符串 |
---|---|---|---|
包含 | 线 | 线 | TT*FFT*** |
包含 | 点 | 线 | TT*FFT*** |
包含 | 点 | 点 | T******** |
包含 | 线 | 面 | TT*FFT*** |
包含 | 面 | 面 | TT*FFT*** |
交叉 | 线 | 线 | TF*FF**** |
交叉 | 面 | 线 | TT**F**** |
交叉 | 线 | 面 | T******** |
重叠 | 线 | 线 | TT*T***** |
重叠 | 点 | 点 | T******** |
重叠 | 面 | 面 | TT*T***** |
触摸 | 线 | 线 | FF*FT**** |
触摸 | 面 | 线 | FF*FT**** |
触摸 | 线 | 面 | FF*FT**** |
触摸 | 面 | 面 | FF*FT**** |
包含于 | 线 | 线 | TF**F**** |
包含于 | 点 | 线 | T******** |
包含于 | 点 | 点 | T******** |
包含于 | 线 | 面 | TF**F**** |
包含于 | 面 | 面 | TF**F**** |
用于“空间关系”文本框的字符串的示例如下:
空间关系 | 要使用的字符串 |
---|---|
共享边界 | ****T**** |
共享边界,且内部相交 | T***T**** |
共享边界,且内部不相交 | F***T**** |
不接触边界,且内部相交 | T***F**** |
面的边界与线的内部在一定长度上相交 | ***1***** |