前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >连接断开的线

连接断开的线

作者头像
数据处理与分析
发布2019-07-31 16:26:55
2.3K0
发布2019-07-31 16:26:55
举报
文章被收录于专栏:数据处理与分析

背景

前一段参加安图举办的用户大会,其中讲了一个案例:连接断开的线。今天将这个整理下分享给大家。魔板整体截图

创建要素

使用Creator转换器创建两个线要素,要素与要素之间留点缝隙。如下图所示:

临近查找,并创建创建缝隙间的线

使用转换器查找临近要素,获取base与相邻要素坐标,并将其连接起来。

NeighborFinder转换器设置

参数解读:

input:经过我们这样的设置,所有输入的要素将会去查找除自身外的其他要素,这也是想要的效果;

查找数量:在这里,设置为1,因为只创建了两条线;

查找距离:在这里,设置为2;

创建线段转换器:

注意两个Creator的参数设置,第一个VertexCreator转换器,使用的模式是替换,会直接将几何替换为点;第一个VertexCreator转换器,使用的是添加点的模式,经过这样的设置,就在两条线不相连的地方产生了连接线(注意,在这里会产生两条线,然而,貌似并没有什么影响)。细线预览:

有小伙伴提出这块需要增加点内容来讲解下连接线是怎么产生的,特别感谢下FME中国技术交流群的朋友BAT提出的意见。

NeighborFinder转换器计算后的数据,在连接线的时候我们用到了四个参数,分别是:_closest_base_x、_closest_base_y、_closest_candidate_x、_closest_candidate_y,现对结合下图对这几个参数进行讲述

在要素A进行临近查找时,具体如下:

_closest_base_x、_closest_base_y:要素A在进行临近查找时距离要素B最近的点,这个坐标是在要素A上的,在这里,是要素A的端点;

_closest_candidate_x、_closest_candidate_y:要素A在进行临近查找时距离要素A最近的点,这个坐标是在要素B自身上的,在这里,是要素B的端点;

要素B在进行临近查找的时候,也是类似的,所以在这里会产生两条线段,除了方向不一致,在几何上没有什么不同。

将所有线连接起来:

使用LineCombiner转换器将所有的线连接起来,在这里可以看到上一步骤产生的重复线段对结果不会有什么影响,估计会对速度有影响。我们可以看一下结果,如下图所示:

总结

在实际工作中,常常会遇到连接线的时候因为微小距离的问题导致连线连不上。本文旨在提供一种解决问题的思路,不足之处,还望不吝赐教。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-04-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据处理与分析 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档