三维管线数据处理

# ***数据准备***

# 1.三维数据预处理

# 2.核心内容检查

2.1有无重复管线 管点

2.2有无断开管线 管点(尤其三通管线处未断开)

2.3三通弯头管点分类标注错误

2.4生成管线的起点和终点坐标

2.5管点的id的生成  

2.6拿到SHP数据后对数据进行要素转点获取几何数据的XY坐标,拆分线表的起点终点XY坐标为QAQB  RARB

2.7在navicat 中筛选出三通数据的点线表以及弯头数据的点线表

# 3.数据处理

3.1因为弯头数据以及三通数据没有和点表进行融合也就是弯头的点,三通的点没有关联到其他点比如三通有四个点相连的三个管线加上交点,弯头也是如此交点加相连的两个管线现在要把三通点表 以及弯头点表关联上其他的点,形成一条数据是一个点集方便后续导出CSV画图

3.2弯头点表新建两个字段sgs egs 代表弯头线表中起点startpid和终点endpid的同一个pointid 的重复数量因为方向矢量的关系有三种所以sgsegs 会出现11 20  02 三种情况如果sgs egs 和不等于2必定是数据错误需要纠正数据

3.3新建关联线表的起点终点XY坐标WAWB WCWD,先把1  1的这种情况下的WAWBWCWD进行关联 把弯头线表的QAQB RARB赋值过来,当SGS等于1是说明起点是交点应该把线表的RARB取过来赋值给WCWD,当egs等于1时说明终点是交点应该取线表的QAQB赋值给WAWB,当sgs等于2 egs=0时说明筛选出来有两条数据两条数据都是取RARB第一条结果赋值给WAWB 第二条结果赋值给WCWD  sgs egs是 0  2 则是相反

3.4坐标在2.2处理完了接下来弯头点表继续新建wtsizeA wtsizeB wtsize 三个字段同理取出线表对应的size 给wtsizeA wtsizeB然后比较AB 取出最大的值给wtsize这样就能知道弯头数据中管径大的连管径小的弯头时大管径的半径了避免了大管套小管还是取小管半径出现穿模的问题了

4.4三通也是一样的处理sgs egs  不一样地方是这个和是3不是2了因为除去交点还有三个点所以存在12  21  03  30  其他的都是错的需要检查数据同理获取坐标SA SB SC SD SE SF以及size  这里就是四个字段了也是取出最大的管径作为三通的管径。

# 4.数据成果

经过上面的操作就得到两个新表分别是二通点表,一个是三通点表。二通点表包括点坐标与之相连的两根管线的另外两个点坐标(WA WB) (WC WD),三通则是点坐标与之相连的三个管线的三个点坐标(SA SB) (SC SD) (SE SF)如果含有四通和上面的操作方法类似

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值