西班牙
斯潘4
我有几个工作台每天晚上处理大量更新,其中点数据在NAD中,用户希望将相关状态平面的东/北作为属性添加。
我在lat/lons中流动的地方创建了一个附加的转换器,基于圆形坐标将它们聚集起来,在与状态平面多边形相交的分组并行处理中运行下一个转换器,然后在转换回NAD之前将项目转换为E/N。
它仍然是缓慢的-任何人都有任何想法,如何加快或做不同的?
我可以想出很多方法来改变这种情况,不过我不确定哪种方法更快。
首先,您可以将这些点用作FeatureReader的发起方功能。ie每个点使用一个空间过滤器查询多边形数据集(发起者在结果中),只有PointOnAreaOverlayer这样做。只需将Geometry设置为“使用发起方”,它应该保留Geometry并合并到源多边形的属性中。节省了两步流程。
第二,你不需要在那里责备,然后再回来。您可以使用CoordinateExtractor获取NAD中的坐标,并使用AttributeReprojector转换器将这些值重新投影到状态平面。我想,这样可以节省你一些时间;也就是说,你不必冒着改变你的几何体的风险,往返通过一个再投影过程。
第三,正如Takashi所说,快船几乎肯定比PointOnAreaOverlayer快——至少以我的经验来看——所以即使上述想法没有帮助,换上快船也应该是一个好处。注意,这并不是说Overlayer在做同样的事情时天生就慢,而是它执行了Clipper没有执行的附加功能(比如计算重叠的数量,或者生成列表),我认为这里不需要这样做。
编辑:我刚才有一些其他的想法。。。
这些点总是一样的吗?还是经常重复使用?我得到的结果是,如果有任何方法可以保存状态平面区域(即使它在具有外键匹配的查找表中),那么将来的处理将比重新执行空间过滤器快得多。或者,如果这些地址的地址信息存储为属性,那么您已经知道地址属于哪个状态,而不是哪个区域。根据我的经验,基本上空间过滤是一个昂贵的过程,如果你能避免它,或者最小化它,那么你就节省了很多时间。
我还要补充一点,我不相信快船第一,或者区域第一会节省你很多时间在这里。一般来说,它们减少了内存使用,而不是时间。时间方面只在你用完这么多内存,以至于FME不得不缓存到磁盘时才会起作用。这时,xxxx首先可以通过防止磁盘缓存来节省时间。但是对于5k点功能呢?应该不成问题。
首先快速的想法-确定点上的地区覆盖层有地区首先是。这样可以让你的分数直接通过。感觉好像不应该使用特性集来阻止点——我认为创建者应该让FeatureReader在点到达之前发送多边形。这对我来说是让事情进展更快的关键。
出于好奇,这里有多少个点?
如何按模式分组执行仿射程序?3个答案
LAS Tans信息和局部坐标系3个答案
坐标提取器-如何知道直线上起始坐标顶点和结束坐标顶点的方向1个答案
将rd坐标转换为Bing地图坐标2个答案
如何编写多个json对象输出2个答案
?2019安全亚搏在线软件公司|合法的