span8
span4
这个变压器的出现是由于变压器上的一个问题引起的FMETalk用户组。
我正在绘制犯罪热点图。使用其他GIS系统,我可以很容易地做一个内核密度类型分析,它将创建密集区域的轮廓。我想在FME中做这个,但我努力!有什么想法吗?
FME确实有一个DensityCalculator变压器,但这有点不同。基本上,我们需要计算密度(或聚类)通过取每个点,并评估相同区域内相似点的密度。
这个转换器接受任何一组点特性作为输入。
以上:在我的测试用例中,我使用了一组地址点。
你可以看到有很多地址,但是我们能把它写成一种更好的可视化格式吗?
是的,我们可以!这个变压器的输出可以是一组等值线,或表面特征。你可以把它写成多种格式,包括真正的三维可视化功能。
以上:在adobereader中打开3D PDF输出。这显示了表面和轮廓,当然你可以只使用其中一个。
关于输出的一个问题是它可能看起来相当平坦,即使是在人口最稠密的地区。为了应对这一问题,Z值都被夸大了10倍。
方法很简单(见附件:ClusterModeller.zip)。我只是找到了给定半径内每个点的邻域数,并在DEM/Surface模型中使用该值作为Z。诀窍在于找到最佳半径以得到一个好的结果。这个转换器为用户提供了输入该值的能力,或者根据输入点之间的平均距离自动计算一个。
这是变压器的整体。您可以看到它是如何由两个主要部分组成的。
以上:自定义变压器定义。
让我们仔细看看蓝色的部分书签,因为这是所有真正的工作发生的地方。
以上:加工区。
这个从a开始NeighborFinder 变压器。而不是通常的基本/候选用法,我们只在候选模式下使用NeighborFinder。我们设置了查找邻居的最大半径(我称之为“容忍”),并设置了list属性来存储结果。
的ListElementCounter 然后用于查找列表中有多少项——即。这一点周围有多少邻居,在规定的公差范围内。不匹配的点(没有邻居的点)设置为0。
的3 dforcer transformer简单地将每个点的Z坐标设置为这个值,和定标器 乘以10来强调结果。
最后,surface emodeller将这些点及其Z值转换为数字高程模型(DEM),并使用该模型创建一组等高线和锡面。轮廓线是与几乎任何格式兼容的简单线条特征。表面是一个真正的三维特征,兼容支援3D的格式(PDF,Geodatabase,3 ds,等等)。
你可能会问,“工作区中红色的部分做了什么?”如果用户没有设置容错,我们就在这里计算容错。
以上:公差计算部分。
在这里,NeighborFinder 再次使用,但是这次我们想求出每个点到它最近的邻居的距离。
然后一个StatisticsCalculator 和一个ExpressionEvaluator 用于计算基于点间平均距离的公差值。
的FeatureMerger 然后将该公差值附加回原始特性。
有一些明显的限制,但我应该指出来:
因为我拍了上面的截图,我做了以下更新:
因为这不是针对一个特定的项目,所以我不打算做进一步的更新。但是我可以....
©2019安全亚搏在线软件公司法律