空间滤波器
基于空间关系过滤点、线、面积和文字要素。根据给定的空间测试,将每个输入候选特征与所有过滤器特征进行比较,以满足要求。通过任何或所有测试的功能通过通过的端口输出;所有其他功能通过故障端口输出。
典型用途
- 路由特征,取决于定义的空间关系是真还是假
- 通过检查与另一个数据集的预期空间关系,对数据集执行质量控制
- 执行空间连接以基于属性的空间关系将属性从一个特征传递到另一个特征
它是如何工作的?
SpatialFilter比较两组特征,看看它们的空间关系是否满足选定的测试条件。正在测试的特性(候选特性)被识别为已通过或未通过测试。
例如,如果您有一个道路数据集(线),并且希望提取通过停车场(多边形)的所有道路,则可以将道路定向到候选输入端口,将停车场定向到过滤器输入端口。
通过选择测试条件筛选OGC相交候选对象和过滤器OGC-Contains候选人,任何落在公园内或与公园相交的道路线将通过通过的输出端口输出,其余的将通过失败的输出端口输出。您可以同时从公园多边形中提取一个属性(例如公园名称),并将其添加到线条特征中。
例子
在本例中,我们标识了不包含在构建占用空间中的地址点。结果可以用来找到错误的地址点,或识别丢失的建筑多边形。
两个源数据集看起来像这样:
地址点(待测试的数据集)连接到候选输入端口。建筑示意图连接到过滤器端口,并提供将测试地址点的几何图形。
在SpatialFilter参数对话框中,我们进行如下选择:
- 过滤器类型:多个过滤器.有多个建筑多边形,我们想测试。
- 通过条件:通过一个过滤器.每个地址点只需要落在一个多边形内-不是全部。
- 要测试的空间谓词:筛选OGC-Contains候选者. 我们要检查每个候选对象(地址点)是否位于过滤器(建筑多边形)内。
这些是关键参数—其他参数在本例中保留为默认参数。
通过测试的地址点(位于多边形内)通过Passed端口发送出去,并有一个名为_predicate的新属性,设置为“CONTAINS”。
测试失败的地址点-在所有多边形的外部-通过Failed端口发送出去。在Data Inspector中应用样式后,结果如下所示:
使用笔记
选择空间变压器
许多转换器可以评估空间关系并执行空间连接—分析拓扑、合并属性,有时还可以修改几何形状。一般来说,选择一个最具体的任务,您需要完成将提供最佳的性能结果。如果有不止一种方法可以完成(通常是这样),那么在性能测试替代方法上花费时间可能是值得的。
要正确分析空间关系,所有要素应位于同一坐标系中。这个Reprojector可能有助于在工作区内重新投影功能。
变压器 |
可以合并属性 |
改变几何图形 |
统计相关功能 |
创建列表 |
支持类型* |
推荐给 |
---|---|---|---|---|---|---|
空间滤波器 | 是的 | 没有 | 没有 | 没有 |
|
|
SpatialRelator | 是的 | 没有 | 是的 | 是的 |
|
|
AreaOnAreaOverlayer | 是的 | 是的 | 是的 | 是的 |
|
|
压线机 | 是的 | 是的 | 是的 | 是的 |
|
|
LineOnLineOverlayer | 是的 | 是的 | 是的 | 是的 |
|
|
PointOnAreaOverlayer | 是的 | 没有 | 是的 | 是的 |
|
|
PointOnLineOverlayer | 是的 | 是的 | 是的 | 是的 |
|
|
PointOnPointOverlayer | 是的 | 没有 | 是的 | 是的 |
|
|
Intersector | 是的 | 是的 | 是的 | 是的 |
|
|
限幅器 | 是的 | 是的 | 没有 | 没有 |
|
|
邻居 | 是的 | 在某些情况下 | 没有 | 是的 |
|
|
TopologyBuilder | 是的 | 是的 | 没有 | 是的 |
|
|
*注意:曲线包括线、弧和路径。区域包括多边形、甜甜圈和椭圆。
空间分析可能是处理密集型的,特别是当涉及大量特征时。如果您想调优您的工作空间的性能,这是一个很好的开始。
当有多种方法可以配置工作区以达到相同的目标时,通常最好选择最适合您的任务的转换器。
如果您的工作空间存在性能问题,请根据几何形状寻找替代方法。
配置
输入端口
点、线、面积和文字要素候选人将进行比较。这些功能不会输出。
将对照测试的点、线、面积和文字特征过滤器特性。
输出端口
候选人成功满足参数对话框中选择的测试条件的特性。
候选人不满足测试条件的特性。
过滤器和候选人带有无效几何图形的功能将被拒绝并通过该端口输出。如果谓词是通过属性提供的,候选人没有谓词或无效谓词的特性也将通过该端口输出。
被拒绝的功能将具有fme_rejection_code属性具有以下值之一:
EXTRA_BASE_FEATURE
INVALID_BASE_GEOMETRY_NOT_OGC_VALID
无效的\u基础\u几何体\u类型
INVALID_CANDIDATE_GEOMETRY_NOT_OGC_VALID
INVALID_CANDIDATE_GEOMETRY_TYPE
INVALID_CANDIDATE_PARAMETER_PREDICATE
INVALID_GEOMETRY_TYPE
MISSING_CANDIDATE_PARAMETER_PREDICATE
被拒绝的功能处理:可以设置为在遇到被拒绝的特性时终止转换或继续运行。此设置可作为默认设置FME选项作为一个工作空间的参数.
参数
集团 | 如果指定了Group By属性,则只将候选者与这些属性中具有相同值的筛选器进行比较。候选人和过滤器都必须具有匹配的属性名称和值。 |
组的模式 | 结束时的进程(阻塞):这是默认行为。只有当所有输入都存在时,才会在此变压器中进行处理。 组更改时的处理(高级):此变压器将按顺序处理输入组。更改输入流上Group By参数的值将触发对当前累积组的处理。这可能会提高总体速度(特别是对于多个大小相同的组),但如果输入组没有真正排序,则可能会导致不期望的行为。
考虑使用集团
有两个典型的使用原因组更改时的处理(高级).第一个是要分组处理的传入数据(并且已经按顺序排列了)。在这种情况下,结构规定了按用法分组——而不是考虑性能。 第二个可能的原因是潜在的性能提升。 当数据已经排序(或使用SQL命令声明),因为FME需要的工作较少。如果数据需要排序,可以在工作区中对其进行排序(尽管增加的处理开销可能会抵消任何收益)。 根据数据流的数量,排序变得更加困难。多个数据流几乎不可能按正确的顺序进行排序,因为所有特征都与集团值需要在属于下一组的任何要素(任何要素类型或数据集)之前到达。在本例中,使用集团与结束时的进程(阻塞)可能是等效的更简单的方法。 Note: ">注:多个特征类型和来自多个数据集的特征通常不会自然地以正确的顺序出现。 与许多场景一样,使用数据在工作区中测试不同的方法是确定性能增益的唯一确定方法。 |
过滤器类型 | 定义是给出一个过滤器还是多个过滤器,并阐明预期的特征顺序。
|
通过标准 | 指定候选项是否必须与所有筛选器或至少一个筛选器具有谓词匹配。 |
支持模式 | 支撑集料多重和聚合几何都将被支持。然而,支持的谓词只有OGC-Contains、OGC-Disjoint、OGC-Equals、OGC-Intersects、OGC-Touches和OGC-Within。不支持OGC-Overlaps谓词和ogc - cross谓词。9-character面具代表一维扩展的9个交集矩阵也不支持。 支持所有谓词–中描述的所有谓词空间关系定义页面将被支持。但是,聚合和多几何图形将不受支持。 |
要测试的空间谓词 | 定义要执行的测试。选择包括:
支持模式为支持所有谓词,您也可以使用任意的9个字符掩码测试关系。这样的掩模由行组成维度扩展的9交集矩阵.请注意,为了与SpatialFilter一起使用这些掩码,必须将它们分配给候选特性上的一个属性,并在要执行的测试子句中包括该属性的值(不能直接指定它们)。可以在一个属性中通过空格分隔多个谓词。有关谓词的更多信息,请参见空间关系定义. |
使用边界框 | 定义测试是使用候选特性的真坐标还是它们的边界框执行。 |
曲线边界规则 | 该属性指定如何确定曲线和多曲线几何图形的边界。默认规则是,在整个几何体中出现奇数次的任何曲线端点都将被视为其边界–也就是说,线性回路(起点等于其端点的直线)将没有任何边界。另一条规则指定曲线或多曲线的边界是其所有端点的集合。 |
谓词属性 | 指定将添加到所有输出通过的特性上的属性,该属性将包含该特性通过的空间测试的名称。 |
合并属性 | 定义是否将进行属性合并。如果启用此功能,则每个匹配Filter的Candidate都会接收到该Filter的属性。结果是一个称为Spatial Join的操作。 |
积累模式 | 如果正在合并属性,则启用。选择包括:
|
冲突解决 | 如果正在合并属性,则启用。选择包括:
|
前缀 | 如果合并属性和累加模式设置为,则启用过滤前缀.定义要添加到从筛选器到候选项合并的所有属性上的前缀。 |
编辑变压器参数
使用一组菜单选项,可以通过引用工作空间中的其他元素来分配转换器参数。更高级的函数,如高级编辑器和算术编辑器,也可以在一些转换器中使用。要访问这些选项的菜单,请单击除适用参数外。有关更多信息,请参见变压器参数菜单选项.
定义值
有几种方法可以定义在Transformer中使用的值。最简单的方法是简单地输入值或字符串,其中可以包括各种类型的函数,如属性引用、数学和字符串函数以及工作空间参数。有许多工具和快捷方式可以帮助构造值,通常可以从值字段附近的下拉上下文菜单中获得。
使用文本编辑器
文本编辑器提供了从各种数据源(如属性、参数和常量)构造文本字符串(包括正则表达式)的便捷方法,其中结果直接用于参数内部。
使用算术编辑器
算术编辑器提供了一种方便的方法来从各种数据源(如属性、参数和功能函数)构造数学表达式,其中结果直接在参数中使用。
条件值
根据一个或多个通过或失败的测试条件设置值。
内容
表达式和字符串可以包括许多函数、字符、参数等等。
当设置值时——无论是直接输入参数还是使用其中一个编辑器构造的值——包含String、Math、Date/Time或FME Feature Functions的字符串和表达式将对这些函数进行计算。因此,这些函数的名称(以@<的形式)function_name>)不应用作文字字符串值。
对话框选项-表格
带有表格样式参数的转换器有额外的工具来填充和操作值。
行重新排序 |
单击行项目后启用。选择包括:
|
剪切、复制和粘贴 |
单击行项目后启用。选择包括:
剪切、复制和粘贴可在变压器内部或变压器之间使用。 |
过滤器 |
开始键入一个字符串,矩阵将只显示匹配这些字符的行。搜索所有列。这只影响转换器中属性的显示——它不会改变输出的属性。 |
进口 |
Import使用从数据集读取的一组新属性填充表。具体应用因变压器而异。 |
重置/刷新 |
通常会将表重置为其初始状态,并可能提供其他选项以删除无效项。变压器的性能各不相同。 |
注:并非所有变压器都提供所有工具。
参考
处理行为 |
|
特征保持 |
是的 |
依赖关系 | |
别名 | |
历史 |
FME社亚搏国际在线官网区
FME社区是演示亚搏国际在线官网、操作指南、文章、faq和更多内容的地方。获得问题的答案,向其他用户学习,并对新功能提出建议、投票和评论。
寻找关于SpatialFilter的所有结果在FME社区。亚搏国际在线官网
例子可能包含根据开放政府许可证-温哥华和/或开放政府许可证-加拿大获得许可的信息。