鲷鱼
如果特征的线、段、端点或顶点彼此之间有一定的距离,并且(可选地)如果它们有一个或多个共同属性,则将它们放在一起。
两者之间的区别AnchoredSnapper和Snapper是锚的特征被认为是准确的,因此不移动。
输出端口
![关闭](http://www.baooytra.com/docs/fme/2019.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
由变压器改变其几何形状的特征。
![关闭](http://www.baooytra.com/docs/fme/2019.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
不改变变压器的特性。
参数
变压器
![关闭](http://www.baooytra.com/docs/fme/2019.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
如果集团属性被选中,特性只被按属性组中具有相同值的其他特性绑定。
![关闭](http://www.baooytra.com/docs/fme/2019.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
进程结束(阻塞):这是默认行为。只有当所有输入都存在时,才会在这个转换器中进行处理。
组更改时的处理(高级):此变压器将按顺序处理输入组。输入流上Group By参数值的更改将触发对当前累积组的处理。这可能会提高整体速度(特别是对于多个大小相同的组),但如果输入组不是真正有序的,可能会导致不希望的行为。
![关闭](http://www.baooytra.com/docs/fme/2019.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
有两个典型的使用原因组更改时的处理(高级).第一个是要分组处理的传入数据(并且已经按顺序排列了)。在这种情况下,结构规定了按用法分组——而不是考虑性能。
第二个可能的原因是潜在的性能提升。
当数据已经排序(或使用SQL命令声明),因为FME需要的工作较少。如果数据需要排序,可以在工作区中对其进行排序(尽管增加的处理开销可能会抵消任何收益)。
根据数据流的数量进行排序变得更加困难。多个数据流几乎不可能按正确的顺序排序,因为所有的特征都匹配集团值需要在属于下一组的任何特性(任何特性类型或数据集)之前到达。在本例中,使用集团与进程结束(阻塞)可能是等效的更简单的方法。
注意:多个特征类型和来自多个数据集的特征通常不会自然地以正确的顺序出现。
与许多场景一样,在工作区中使用数据测试不同的方法是确定性能增益的唯一确定方法。
参数
![关闭](http://www.baooytra.com/docs/fme/2019.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
当该参数设置为终点拍摄变压器:
- 如果它们的端点之间的距离在指定的公差内,则将线扣在一起。
- 如果点或线的距离在指定的公差范围内,则将点特征snap到点或线。
- 在此模式下运行时,区域特性不会被变压器更改。
- 当两个功能组合在一起时,最近进入工厂的功能就是被修改的功能
当该参数设置为顶点拍摄,变压器做以下工作:
- 如果直线的顶点距离在指定的公差范围内,则将它们扣在一起。
- 如果点或线的距离在指定的公差范围内,则将点特征snap到点或线。
- 区域特征通过这个操作被改变,因为它的顶点被打断了。
- 当两个功能组合在一起时,最近进入工厂的功能就是被修改的功能。
当该参数设置为段拍摄,变压器做以下工作:
- 如果直线的顶点距离在指定的公差范围内,则将它们扣在一起。
- 如果线段上任何点的距离在指定的公差范围内,则将线段的顶点扣到其他线段上。新的顶点将被引入到新的顶点被移动到的线段中。
- 线段折断可能导致重复的点,其中线段退化为一个点。
- 与其他线段相交的线段将在交点引入新的顶点,但线段将保持不变。
- 区域特征通过这个操作被改变,因为它的顶点和段被打断了。
- 如果一个线段和一个点都在容差范围内,转换器将优先选择一个顶点而不是线段,即使线段更接近。
![关闭](http://www.baooytra.com/docs/fme/2019.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
拍摄距离指定以地面单位为单位的距离,在特征之间发生抓拍。
![关闭](http://www.baooytra.com/docs/fme/2019.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
当拍摄类型是段拍摄,该转换器执行数据清理,以提高结果在其他算法中使用时的鲁棒性,确保snap输出中的两个顶点都不在彼此的容忍范围内。
如果宽容被设置为自动,则会根据输入的尺寸,自动计算清洗操作的公差。否则,可能会使用自定义公差。
![关闭](http://www.baooytra.com/docs/fme/2019.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
此参数仅在特性的结束点被捕捉时有效。它控制线条被打断时如何修改。
- 从来没有:当线条被打断且没有添加额外顶点时,它的端点将被移动。
- 总是:原线的端点(起始点)变成了从端点(起始点)开始的第二个点,并添加了一个新的顶点来完成对齐。
- FORWARD_ONLY:只有当与原线段的夹角大于90度时,才会添加一个新顶点。在这种情况下,如果添加顶点会导致一个小于90度的角,那么旧的端点仍然会移动。
![关闭](http://www.baooytra.com/docs/fme/2019.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/../Skins/Default/Stylesheets/Images/transparent.gif)
任何进入变压器的特征,其长度小于或等于公差将被特殊处理:它们将被输出为没有,其他功能(但不是其他短功能)将无法捕捉到它们。如果没有选择该选项,像这样的功能将崩溃到一个点,并将被删除。
使用笔记
在启动之后执行一个简短的清理步骤。这个步骤将删除重复的点,并可能创建聚合来保留重叠的,有方向的片段。
任何因被打断而经历维度崩溃的特征都将被记录为“退化”并被丢弃。空间折叠是指一条线或一个区域变成一个点,或一个区域变成一条线。
相关的变形金刚
- Snapper似乎会对第一个找到的合适的候选者发出啪的一声,然后忽略其他可能的候选者。如果这不是你想要的,那CoordinateRounder也许是有用的。
- 在尝试更复杂的操作(如构建多边形)之前,可以使用Snapper清理数据集。在这种情况下经常使用的其他转换器是LineExtender和Intersector.
- 的AnchoredSnapperTransformer提供了稍微不同的功能,它识别出一组特性,这些特性不会被移动,而是会被另一组特性吸引到。
例子
下面的示例演示了两条线的端点结合在一起。
下面的示例演示了一条直线的端点和顶点接合在一起。
下面的示例演示了一个线段与另一个线段的顶点接合。
编辑变压器参数
使用一组菜单选项,可以通过引用工作空间中的其他元素来分配转换器参数。更高级的函数,如高级编辑器和算术编辑器,也可以在一些转换器中使用。要访问这些选项的菜单,请单击除适用参数外。有关更多信息,请参见变压器参数菜单选项.
变压器的分类
FME授权级别
FME基础版及以上版本
技术的历史
相关的FME功能或工厂:SnappingFactory
FME社区搜索:亚搏国际在线官网
上搜索有关此变压器的示例和信息FME社亚搏国际在线官网区.