嗨comleted您的工作空间。但是,有一些看法和问题,主要涉及到节点上bojects。你想那些与线?
在工作空间中我只涉及的节点之间的对象。您可以轻松地在第一位relaed德节点上的人(这里是从过程中排除)。
当然Neighbourfinder方式能够导致。
我总是尽量避免去猜测什么样的搜索范围必须是。如果你只是设置一个巨大的范围或数据边框的例如直径,neighborfinder有很多工作要做(因此耗费时间和内存)。
我更喜欢做得逞的。(其实我几年前建立一个迭代neighbourfinder防止无用搜索)
当没有必要我只是避免使用它。
此外,我还以为你会明白的事实,有“许多方式来杀死一只猫”。
当然,在对这个问题trentanderin它是完全没有必要的。作为点,他说其实都是就行了。你甚至可以解决一个设定的措施。
此外,我希望安全有一天会亚搏在线修复spatialrelator。
您可以使用两种Snippers创建线的起点和终点节点,有两个NeighborFinders找点最接近的节点分开。这是一个实体模型。
如果你需要保留原线的几何形状,你可以使用一个GeometryExtractor的剪断之前几何存储为一个属性,并使用GeometyReplacer的FeatureMerger后从属性恢复几何。
这里有一个工作区来做到这一点。没有搜索任何东西。只要地形和nodenumbers。
当点总是在行,你可以简单地使用
(多边形)线上的拓扑生成器,它为您提供(多边形)线上的起点和终点(节点输出)。
然后(例如)用点覆盖点。(PoP有一个公差设置,以防出现精度问题)
由于您不知道为邻居查找器设置的距离(您可能需要搜索一半的地图),因此我建议使用另一种方法。
1)如果你有大量的对象:
我将开始平铺数据集的百分比的边界框(2倍或更大)的行。
然后将每个b-box中的所有对象、线和点关联起来。(spatialrelator)
2)合并b-box分组的线和点。
使用坐标提取器提取线的端点和起始点(索引0和-1)。提取点的坐标。适当的名称属性。
简单的长度计算开始和结束点。
(你知道. .比如E到P点
@sqrt(@pow(E_x - P_x,2))
)
如果您使用属性创建者执行此条件设置,则可以同时测试哪个最短,并将其设置为“distance”属性。
然后按LineID和“距离”属性升序排序。
样本由LineID, 1,前n个特征。
@erik_jan。你好,我有和问题相同的问题,但似乎不能让你的回答工作,我有许多线对象和许多点对象坐在这些行。我希望能够输出一个csv文件,其中包含行中的所有细节,并包含两个额外的列1。包含与线和2的起始顶点最近的点对象。包含到线的结束顶点最近的点对象。我有一个游戏与你的答案以上,但没有运气,有没有办法提供一个例子工作台,看看它是如何构成的?
使用CoordinateExtractor(索引0表示开始,索引-1表示结束)提取开始和结束坐标。
使用2DPointReplacer使用开始坐标替换直线。
使用睦邻取景器找到最近的点开始。
为结束坐标重复最后两个步骤。