PointOnAreaOverlayer
在多边形覆盖中执行一个点。点接收包含区域属性,区域接收包含区域属性(空间连接)。
典型的使用
- 找出点落在里面的区域
- 找出区域内包含哪些点和多少个点
它是如何工作的?
点区域覆盖层比较点和多边形。每个点接收它所包含的区域的属性,每个包含区域接收它所包含的每个点的属性。
不计算区域特征之间的交点。FME认为一个区域的边界上的点是“in”,因此如果一个点恰好落在两个多边形之间的直线上,那么这两个区域都将被认为是“in”。
聚合可以在处理之前进行分解,也可以拒绝。
在本例中,我们有一个食品供应商的点数据集和一组表示社区的多边形。
为了找到一个供应商所在的社区,我们将食品供应商的点连接到输入端口,将社区连接到输入端口。
在parameters对话框中,默认设置将提供正确的结果。请注意,属性>累积模式被设置为传入模式,它将向每个点添加包含邻域多边形的属性。
查看食品供应商的点数输出,我们可以看到已经添加了包含邻域属性。
查看面积输出,_overlaps属性告诉我们每个社区中有多少食品供应商。
使用与前面示例相同的食品供应商点和邻居多边形,我们还可以构建一个列表属性,该属性包含给定邻居的所有食品供应商。
在parameters对话框中,启用Output ' Area '上的Generate List,给List一个名称,并选择要包含的属性。
查看输出,我们可以看到Fairview社区包含7个食品供应商,这些供应商的名称和描述包含在一个list属性中。
使用笔记
- 如果您有很多特性需要处理,那么还可以通过使用限幅器变压器。限幅器还为正好落在直线上的点提供了不同的选项。看到来自FME知识中心的Clipper示例有关如何使用更少内存的信息,请使用快船的第一参数。
- 如果有很多点特性,可以使用area First参数减少PointOnAreaOverlayer的内存使用量。
- 注意,在需要点几何图形作为输入的地方,不支持点云几何图形。
- PointOnAreaOverlayer没有位置公差选项。
选择空间变压器
许多转换器可以评估空间关系并执行空间连接——分析拓扑结构、合并属性,有时还可以修改几何形状。通常,选择最特定于您需要完成的任务的方法将提供最佳性能结果。如果有不止一种方法可以做到这一点(通常是这种情况),那么花时间在性能测试替代方法上可能是值得的。
为了正确分析空间关系,所有的特征都应该在同一个坐标系中。的Reprojector对于在工作空间中重新投影功能可能很有用。
变压器 |
可以合并属性 |
改变几何 |
重要的相关功能 |
创建列表 |
支持类型* |
推荐给 |
---|---|---|---|---|---|---|
SpatialFilter | 是的 | 没有 | 没有 | 没有 |
|
|
SpatialRelator | 是的 | 没有 | 是的 | 是的 |
|
|
AreaOnAreaOverlayer | 是的 | 是的 | 是的 | 是的 |
|
|
LineOnAreaOverlayer | 是的 | 是的 | 是的 | 是的 |
|
|
LineOnLineOverlayer | 是的 | 是的 | 是的 | 是的 |
|
|
PointOnAreaOverlayer | 是的 | 没有 | 是的 | 是的 |
|
|
PointOnLineOverlayer | 是的 | 是的 | 是的 | 是的 |
|
|
PointOnPointOverlayer | 是的 | 没有 | 是的 | 是的 |
|
|
Intersector | 是的 | 是的 | 是的 | 是的 |
|
|
限幅器 | 是的 | 是的 | 没有 | 没有 |
|
|
NeighborFinder | 是的 | 在某些情况下 | 没有 | 是的 |
|
|
TopologyBuilder | 是的 | 是的 | 没有 | 是的 |
|
|
*注意:曲线包括线、弧和路径。区域包括多边形、甜甜圈和椭圆。
空间分析可能是处理密集型的,特别是当涉及大量特征时。如果您想调优工作区的性能,这是一个很好的起点。
当有多种方法配置工作空间以达到相同的目标时,通常最好选择最适合您的任务的transformer。例如,在比较地址点和构建多边形时,有几种方法可以实现它。
第一个例子使用SpatialFilter测试点是否落在多边形内,结果是正确的。但是SpatialFilter是一个相当复杂的转换器,能够测试多种条件并接受多种几何类型。它没有针对我们在这里分析的特定空间关系进行优化。
SpatialFilter:
第二个例子使用了一个PointOnAreaOverlayer,后面是一个测试器。特性输出与第一种方法相同,但是转换器针对此特定任务进行了优化。处理时间上的差异是巨大的——从第一个配置的54.3秒减少到第二个配置的13.7秒。
用一个点覆盖层和一个测试:
如果性能是您工作空间中的一个问题,那么可以根据几何图形来寻找替代方法。
配置
输入端口
点(包括文本)的特点,将与哪些地区进行比较。
比较点的区域特征。
输出端口
点特征,根据变压器参数配置添加属性。几何是修改的。
区域特性,根据变压器参数配置添加属性。几何是修改的。
参数
集团 | 默认的行为是使用整个功能集作为组。此选项允许您选择定义要形成哪些组的属性。 | ||||||||||||
并行处理 | 选择要应用的并行处理级别。默认是不并行的。
并行处理
注意:如何并行处理与FME:看到了吗对并行处理的详细信息。 此参数确定转换器是否应该跨并行进程执行工作。方法指定的每个组将启动一个进程集团参数。 并行处理水平
例如,在四核计算机上,最小的并行度将导致两个FME进程同时进行。8核机器上的极端并行将导致16个并发进程。 您可以试验这个特性,并在Windows任务管理器和工作台日志窗口中查看信息。 |
||||||||||||
输入命令 | 没有:这是默认行为。只有当所有输入都存在时,这个转换器才会进行处理。 由集团:这个转换器将按顺序处理输入组。的值的变化集团输入流上的参数将触发当前累积组上的批处理。如果组比较大/复杂,这将提高总体速度,但是如果输入组不是真正有序的,则可能导致不希望的行为。具体来说,对于两个输入端口的转换器,“in order”意味着整个组必须在下一个组到达任何一个端口之前到达两个端口,以便转换器按预期工作。这可能需要在工作空间中仔细考虑,并且不应该与单独排序的两个端口的输入流相混淆,而不是同步排序。 |
重叠计算属性 | 的重叠计算属性添加到输出点特性中保存它们所在的区域特性的数量。的重叠计算属性添加到输出区域的特性包含它们所包含的点特性的数量。 |
地区第一 | 如果地区第一被设置为是的,则点区域覆盖层假设所有区域特征将先于任何点特征进入变压器。这可以减少内存使用的点areaoverlayer如果你有很多点的特点来覆盖。在第一个点特性之后到达的任何进一步的区域特性都将被记录并警告并丢弃。 如果输入命令参数设置为由集团,地区第一要求分别适用于每一组。这意味着来自第一组的面积和点特征必须先于来自第二组的面积和点特征进入变压器。 |
总处理 | 选择如何处理聚合几何图形。 Deaggregate:将聚合分解为各自的组件。 拒绝:不处理聚合并通过
|
如果传入特性和原始特性上的属性共享相同的名称,但不是以fme_开头的几何属性,则认为它们是冲突的。
积累模式 | 合并的:原始特性将保留其自身所有未冲突的属性,并额外获取新特性具有的所有未冲突的属性。此模式将基于冲突解决参数处理冲突属性。 前缀的:最初的功能将保留它自己的所有属性。此外,原始版本将获得反映传入特性属性的属性,名称以前缀参数作为前缀。 只使用传入的:除了以fme_开头的几何属性外,原始特性将删除所有属性。然后,来自一个(任意)传入特性的所有属性将被放置到原始特性上。 |
解决冲突 | 使用原来的:如果发生冲突,将保留原始值。 使用传入的:如果发生冲突,传入的值将被传输到原始值。 |
前缀 | 如果积累模式参数设置为前缀的,此值将为从传入特性添加到原始特性的属性加上前缀。 |
在输出“点”上生成列表
启用后,将列表属性添加到点输出特性中,并且将包含输出点的每个区域的属性添加到该点的列表中。
注意,没有计算区域特征之间的交点。
“点”的名称列表 | 为list属性输入一个名称。 注意:属性列表不能从工作台中的输出模式进行访问,除非首先使用对其进行操作的转换器(如ListExploder或ListConcatenator。所有列表属性转换器都显示在“转换器帮助”下的“内容”窗格中列表。另外,AttributeExposer可以使用。 |
添加到“点”列表 | 所有属性:所有属性将添加到输出点特性。 选择属性:使选择属性参数,其中可以选择要包含的特定属性。 |
选择属性 | 时启用添加到“点”列表被设置为选择属性。指定希望包含的属性。 |
在输出“区域”上生成列表
启用后,将列表属性添加到区域输出特性中,输出区域包含的每个点的属性将添加到该区域的列表中。
注意,没有计算区域特征之间的交点。
“区域”的名称列表 | 为list属性输入一个名称。 注意:属性列表不能从工作台中的输出模式进行访问,除非首先使用对其进行操作的转换器(如ListExploder或ListConcatenator。所有列表属性转换器都显示在“转换器帮助”下的“内容”窗格中列表。另外,AttributeExposer可以使用。 |
添加到“区域”列表 | 所有属性:所有属性将添加到输出区域特性。 选择属性:启用所选属性参数,其中可以选择要包含的特定属性。 |
选择属性 | 时启用添加到“区域”列表被设置为选择属性。指定希望包含的属性。 |
编辑变压器参数
使用一组菜单选项,可以通过引用工作空间中的其他元素来分配transformer参数。更高级的功能,如高级编辑器和算术编辑器,也可以在一些转换器中使用。要访问这些选项的菜单,请单击在可适用的参数旁边。有关更多信息,请参见变压器参数菜单选项。
定义值
有几种方法可以定义在转换器中使用的值。最简单的方法是简单地键入一个值或字符串,其中可以包括各种类型的函数,如属性引用、数学和字符串函数以及工作区参数。有许多工具和快捷方式可以帮助构造值,通常可以从value字段附近的下拉上下文菜单中获得。
使用文本编辑器
文本编辑器提供了一种方便的方法来构造来自各种数据源(如属性、参数和常量)的文本字符串(包括正则表达式),其中直接在参数中使用结果。
使用算术编辑器
算术编辑器提供了一种方便的方法来从各种数据源(如属性、参数和特性函数)构造数学表达式,其中结果直接在参数中使用。
有条件的值
根据通过或失败的一个或多个测试条件设置值。
内容
表达式和字符串可以包含许多函数、字符、参数等—无论是直接输入参数还是使用某个编辑器构造。
参考
处理行为 |
|
功能持有 |
是的 |
依赖关系 | |
FME授权级别 | FME专业版及以上 |
别名 | |
历史 | |
类别 |
FME知识中心
FME知识中心是演示、操作方法、文章、常见问题等的地方。获取问题的答案,向其他用户学习,并对新功能提出建议、投票和评论。
搜索所有结果关于点区域覆盖层关于FME知识中心。