“扩展行以创建T交叉”的注释和答案。 https://knowledge.亚搏在线safe.com/questions/71795/extend-lines-to-create-t-intersections.html 关于“扩展线以创建T型交叉点”问题的最新评论和答案。 答案由gio https://knowledge.亚搏在线safe.com/answers/107116/view.html

https://knowledge.亚搏在线safe.com/answers/71885/view.html

Hi @ david_proack88 扩展行直到它们相交以前已经被其他FME用户建议过,但不是at的想法。你能把这个贴在那里吗?https://knowledge.safe.com/content/ide亚搏在线a/list.html谢谢

2018年6月6日星期三21:08:45 GMT danat亚搏在线safe 由jdh评论jdh的评论 https://knowledge.亚搏在线safe.com/comments/71815/view.html 求解由坐标定义的两条直线的理论交点的代数方法是:

诀窍是将相关行配对。< br > < br >我可能会使用一个TopologyBuilder识别所有摇摆节点。< br >缓冲→溶解器→计数器或< br >鲷鱼→匹配器(几何)(我不知道哪个更有效,但我怀疑是后者)< br >后跟FeatureMerger commonID每个“十字路口”。
一个坐标提取器,用于获取最后两个(或前两个)坐标。
然后您可以使用一个聚合器对按commonID分组的行进行聚合。
这将给你一个特征每个交叉口,与坐标可以插入上述方程。
您可以计算任意一对直线(非平行)或所有3个可能的交叉点,并取其平均值。
然后您可以爆炸聚合并使用VertexCreator将相交坐标添加到行中。




格林尼治时间2018年6月5日星期二19:22:53 jdh
david_proack88评论david_proack88的回答 https://knowledge.亚搏在线safe.com/comments/71814/view.html 感谢 @takashi < / > !你的想法成功了,因为这在地图上很常见,它解决了95%的问题。我希望用某种算法来找到空间中这个点的交点。我想我正试着让它自动化。我一直用两条直线的交点来求交点。(mx+b = mx+b)通过使用数学函数。但它产生的问题比答案多一点。< br > < br > 格林尼治时间2018年6月5日星期二19:03:35 david_prosack88 david_proack88评论david_proack88的回答 https://knowledge.亚搏在线safe.com/comments/71813/view.html Hi https://knowledge.亚搏在线safe.com/answers/71811/view.html

我有一些想法,但也有一些问题。

是应该扩展的预标识行(比如一个公共id)还是需要从整个线路网络中确定?

当你有3条直线时,它们会达到一个完美的交点,还是会有一些公差?

2018年6月5日星期二18:21:53 GMT jdh 答案由隆 https://knowledge.亚搏在线safe.com/answers/71801/view.html

Hi @ david_proack88 ,只是一个想法。>

  1. LineExtenter:扩展线。坐标提取器x 2:从开始线的结束节点提取坐标,从结束线的开始节点提取坐标。缓冲:将开始/结束行转换为长而窄的多边形,缓冲量很小。
  2. AreaOnAreaOverlayer:覆盖这些缓冲区,生成list来存储CoordinateExtractor提取的坐标。
  3. Tester:选择覆盖区域3作为重叠计数属性。
  4. CenterPointReplacer:将选中的区域转换为它的中心点。把它看作是原来三条直线的交点。
  5. listdynamder:爆炸列表使中心点复制3份。VertexCreator:添加用坐标提取器保存的顶点(x, y),连接中心点和原线。

2018年6月5日星期二14:43:46 GMT