空间关系定义
空间关系用谓词-指示每个几何图形与另一个几何图形之间的关系类型的关键字。这些关系由开放地理空间联盟,并在FME中解释。
空间关系是基于一个特征的三个组成部分如何与另一个特征相交或不相交。每个功能都有一个内部,边界,以及外观。这些术语是定义如下对于各种几何图形类型。这些要素如何相互作用决定了空间关系特征的类型,以及它们匹配的谓词。
边界 | 点 | 空集合。 |
线 | 曲线-边界-规则-端点-模式2 边界是发生奇数次的所有端点的集合。对于简单的线性特征(即,不是多曲线,这意味着边界由起点和终点组成,除非线路闭合(起点和终点相同)。在这种情况下,边界是空集。(如果曲线边界规则未指定。) 曲线\边界\规则端点\全部 边界是所有端点的集合,不管它们在几何图形中出现的次数如何。 |
|
地区 | 多边形的边界,包括洞的边界。 | |
内部 | 点 | 点位置。 |
线 | 除上述边界外的整条线。 | |
地区 | 多边形的内表面。 | |
外部 | 点 | 一切不在边界或内部的东西。 |
线 | ||
地区 |
对于不是OGC有效几何图形或聚合几何图形的几何图形,空间关系未定义。关于空间关系的明确文件,请查阅OGC文件。有关FME如何处理聚合和多几何图形的更多信息,见下文。
空间谓词
谓词-比如交叉点,包含,重叠,更多的-通常用于空间连接。这个空间滤波器和空间继电器允许使用谓词进行显式空间查询构造。
这里描述了每个支持的谓词,以及一些相关的例子和模式矩阵.请注意,这些例子并不详尽:给定谓词为真的情况可能完全不同。
空间谓词及其示例
在这些例子中,基地标记为“A”,候选人标记为“B”。
几何示例显示比较点,线,和区域。底座为蓝色,候选人穿黄色。显示多个基或候选的示例不表示多几何图形或聚合几何图形,相反,它们表示与谓词匹配的备用方案。
谓语 |
说明 |
几何图形示例 |
模式矩阵* |
---|---|---|---|
相交 | 这两个特征不是不相交,定义如下。 | ||
不相交
|
边界和内部不相交。 | ||
等于
|
这些特征具有相同的边界和相同的内部。 | ||
触摸
|
边界可以相交,或者一个边界可以与另一个内部相交。 内部没有接触。 点/点未定义。 |
||
交叉
|
内部和基地的内部与候选人的外部相交。 或者如果是线/线,内部的交叉点形成了一个点。 未定义点/点或区域/区域。 未定义聚合/多几何图形。 |
||
对于两行: |
|||
重叠
|
内部交叉,但这两个特征都没有被另一个包含,这些特征也不相同。 点/线未定义,点/面积,或线条/区域。 未定义聚合/多几何图形。 |
||
对于两行: | |||
包含
|
内部结构相交,候选人的内部或边界没有任何部分与基地的外部相交。边界可能相交。 内部反转。 |
||
内
|
内部结构相交,基地内部或边界的任何部分都不会与候选人的外部结构相交。边界可能相交。 包含的反转。 |
*见尺寸扩展9交集矩阵(de-9im)下面。
集料与多几何
集料和多几何体的空间关系没有明确定义,和应小心使用.在合理的情况下,FME使用直观的定义来分析这些关系,然而,根据任何公共标准,这些定义都不是众所周知的。
所有关系都是为多几何类型的所有组合定义的,除了ifmemultitext,IFM多表面,和如果是多固体,没有为任何关系定义。任何关系与此规则不同的地方都会被记录下来。
相交 | 几何体与多个if相交,只有当,多个几何体中至少有一个部分与几何体相交,这与多个几何体相交的部分相同。 一个多个与另一个多个if相交,只有当,一个多个的至少一个部分与另一个多个的至少一个部分相交。 |
不相交 | 几何体与多个if不相交,只有当,几何体与多重体的所有部分都不相交。 这与几何体中的多重不相交是相同的。 一个多重与另一个多重如果不相交,只有当,每个多重体的所有部分都与其他多重体的所有点分离。 |
等于 | 多几何图形只能等于同一类型的另一个多几何图形(例如,细骨料具有细骨料,或IFM多曲线具有IFM多曲线) 如果,两个多几何体相等,只有当,每个多功能中的部件数量相同,一个多重体中的每一部分在另一个多重体中具有相等的匹配,没有“双重匹配”(也就是说,如果没有匹配,任何一个multi的任何部分都不能保留)。 |
触摸 | 几何体接触到多个if,只有当,多个部分中至少有一部分接触到几何体,没有其他非接触部分与几何体相交。 这与多重触摸几何体相同。 一个多重音效接触另一个多重音效,只有当,每个多功能部件中至少有一个部件与另一个部件接触,没有非接触部分与其他部分相交。 |
交叉 | 不支持多/聚合几何图形。 |
重叠 | 不支持多/聚合几何图形。 |
包含 | 几何体包含多个if,只有当,几何图形包含多功能部件的所有部分。 多个包含几何图形,如果,只有当,多维数据集的至少一个部分包含几何图形。 此项未定义用于:
一个multi包含另一个multi if,只有当,容器多个的至少一部分包含容器的所有部分。 此项未定义用于:
|
内 | 几何图形位于多个if中,只有当,几何图形位于多功能部件的至少一个部分内。 此定义不适用于:
在几何图形中存在多个,如果,只有当,多重体的每个部分都在几何体中。 一个多重音域在另一个多重音域中,只有当,所包含多个的每个部分都在容器多个的至少一个部分内。 此定义不适用于:
|
尺寸扩展9交集矩阵(de-9im)
两个特征的比较产生一个3x 3矩阵,称为维度扩展的9交集矩阵(de-9im)。这些矩阵也可以表示为9个字符的字符串。
矩阵示例包括在谓词表上面。
候选人 | ||||
内部 | 边界 | 外部 | ||
基地 | 内部 | X零 | X一 | X二 |
边界 | X三 | X四 | X五 | |
外部 | X六 | X七 | X八 |
矩阵中每个元素的值表示两个特征的给定部分相交产生的几何尺寸。尺寸如下:
-1这里没有互动
0交集产生一个点
1交叉产生一条线
2交叉点产生一个表面
例如,如果X一是1,然后,基地内部与候选人边界的交点产生一条线。当两个特征都是多边形并且重叠时,就会发生这种情况。
每个谓词都可以根据两个特征的交集矩阵的外观来定义。为此,使用模式矩阵。模式矩阵的每个元素可以是以下元素之一:
*此元素的值可以是任何值(-1,0,1,或2)
t此元素的值必须为0,1,或2
f此元素的值必须是-1
0此元素的值必须为0
1此元素的值必须为1
2此元素的值必须为2
的模式矩阵不相交谓词是:
这意味着特征的内部或边界都不能与另一个特征的内部或边界交互。
交叉矩阵的字符串表示法
任何交集矩阵都可以表示为9个字符的字符串。要生成特定交集矩阵的字符串表示,从左上角开始取每个元素,每排从左到右。
例如,交叉矩阵的字符串表示形式不相交谓词(如上所示)为“ff*ff**”。