SherbendGeneralizer
采用Sherbend算法通过减少基于上线的弯曲的分析不必要的细节来简化线路。
Sherbend是基于约束的算法,保留在输入数据中的线和点的空间关系。所述Sherbend算法迭代地通过使用概括在一条线上的弯曲直径参数来选择推广弯曲。泛化过程可以消除,减少或合并弯曲,而解决冲突。
在线路推广弯曲的策略如下:
- 计算参考圆的直径被指定的区域中直径参数。
- 对于每个线路,确定弯曲的位置。
- 对于每一个弯道,计算它的周长。接下来,构造一个圆,周长等于周长。最后,确定弯曲,这是该圆的面积的75%的经调整的区域。
- 对于每个弯曲,概括弯曲如果它的面积是所述参考圆的面积以下和空间约束得到满足。
- 重复上述步骤,直到不再有弯曲一概而论。
输入端口
输入线推广。他们认为不自相交或与其他行或点相交。
输入点的片面性约束。当启用了“片面性”的约束,这些点会防止弯曲的概括是否会更改折弯与点之间的空间关系。
输出端口
广义线。
弯曲,如果一概而论,将违反选定的约束。
无效的输入功能将被输出到无效港口。
参数
变压器
只有在同组的线和点都受到约束检查。如果未指定组时,所有线和点被放置在同一组中。
注意:如何并行处理与FME工作:见对并行处理了解详细信息。
该参数确定变压器是否应该执行跨并行进程的工作。如果启用,这个过程将启动由指定的每个组通过...分组参数。
并行处理级别
参数 | 的进程数量 |
---|---|
没有并行性 | 1 |
最小的 | 核处理器(CPU)是计算机执行数学计算的物理部分。它是计算机系统中最重要的部分。传统处理器上只有一个核心,这意味着在任何给定时间,只执行一组计算。如果一个处理器是双核的,这意味着单片机包含两个处理器的硬件,现在称为核心,以区别于单片机,同时并行运行。(来源:http://www.ehow.com/facts_5730257_computer-core-processors_.html)/ 2 |
温和的 | 岩心确切数目 |
咄咄逼人的 | 核心x 1.5 |
极端的 | 核心x 2 |
例如,在四核机器上,最小并行度将导致两个同时的FME进程。8核机器上的极端并行性将导致16个同时进程。
您可以尝试使用此功能,并在windows任务管理器和工作台日志窗口中查看信息。
是的:此转换器将按顺序处理输入组。价值的变化通过...分组输入流上的参数将触发当前累加组上的批处理。如果组很大/很复杂,这将提高总体速度,但如果输入组没有真正排序,则可能导致不希望的行为。
没有:这是默认行为。只有当所有输入都存在时,才会在此转换器中进行处理。
参数
此参数指定参考圆的直径(在本文档开头描述),该直径大致描述了折弯的宽度,在此宽度下折弯将被通用化。不同的线可以具有指定为属性的不同直径。直径越大,弯曲的可能性就越大。
启用仅应用于同一组中的直线和点的空间约束。
- 没有:将不应用约束。
- 自我的十字路口使用输入线在进入SherbendGeneralizer时不自交的假设,防止线与自身相交。
- 自我,行了行了十字路口在输入SherbendGeneralizer时,假设没有任何输入线自相交或与另一条线相交,从而防止一条线与它自己或另一条线相交。
- 自,线-线相交,侧,除了保持不相交的直线外,还要保持所有直线和点的相对位置。例如,如果一条直线完全在另一条直线的右侧,那么在泛化过程之后,这条直线将完全保持在另一条直线的右侧。
在该图中,蓝色弯板不能通用,因为它会违反“边度”约束:
在该图中,蓝色弯板不能通用,因为它会违反“自相交”约束:
如果设置为没有,将对每条闭合线的坐标列表重新排序(旋转),试图提高泛化质量。为了保持连接点的连通性,变压器必须确保每条线的起点和终点坐标保持不变。因此,如果必须将第一个和最后一个坐标的位置保持在一条闭合的直线上(可能是因为它们在一个接合点上),则应将此参数设置为是的。
如果此参数设置为是的,将不会移动直线的端点。此行为允许保留连接点连接。
例子
在该示例中,弯曲降低(绿色=输入,红色=输出):
在该示例中,弯曲被消除:
在这个例子中,三个弯曲合并成一个:
下图说明在真实世界数据集的单个线泛化过程:
本实施例说明对一组轮廓线的一般化过程:
附加信息
线概括的目的是减少对一个线的细节表示在规模较小。而公知的道格拉斯 - 普克算法,善于减少在一条线上的点的数量,这是不在一条线上去除不必要的细节,以便良好。该泛化变压器包含精选的下其参数,包括道格拉斯 - 普克算法的算法。
相比较而言,因为它保留了线的一般形状的Sherbend算法非常适合的自然特征(轮廓,湖泊,河流,林区等)的概括。Moreoever,如果空间约束被激活时,输入实体之间的空间关系被保留。道格拉斯 - 普克算法用小的公差通常之前或之后Sherbend用于进一步减少点的数量,以进一步实现推广的目标。
性能及使用注意事项
- 所述Sherbend算法迭代地检测并概括弯曲,然后检测并解决空间冲突。从一次迭代广义线被传递到下一个迭代,直到线不能被进一步一般化。由于这种迭代过程,该算法是时间密集的,这是一种折衷,以改进的精确度和泛化的质量。
- 约束检查是一个非常耗时的操作。使用约束仅是必要的。
- 独立概括每一个特征,可以考虑使用泛化变压器。
编辑变压器参数
使用一组菜单选项,变压器参数可以通过引用在工作区中的其它元件来分配。更先进的功能,如高级编辑,算术编辑,也是一些变压器可用。要进入这些选项的菜单上,单击适用的参数旁边。欲了解更多信息,请参阅变压器参数菜单选项。
变压器分类
搜索FME知识中心
搜索样品和有关该变压器上的信息FME知识中心。