1. 二维管线数据准备

        二维管线数据以gdb格式为例,管线需要有 起点点号、终点点号、起点埋深、终点埋深、管径和管线类型等属性,管点需要有 管点点号、地面高程、附属物等属性。数据坐标系是国家2000某带投影坐标系。

 2. 管线三维化

        管线主要分成方管和圆管两种来处理。

        方管处理流程:二维管线段以管径里面的宽缓冲成面,根据管径里面的高拉伸成立体,利用起点和终点的高程差计算旋转角度,对前面生成的管体进行旋转即得到没有材质的方管。

        圆管处理流程:二维管线段以管径直接缓冲成圆柱体,再旋转角度即可。

        具体流程:

        

        管线根据起点和终点挂接对应管点的xy坐标和地面高程,以起点和终点中较低的点为原点(坐标0,0)重新绘制出二维管线。

        计算二维管线的水平方向上旋转角度(方便后面生成管点附属物模型时调整角度);二维管线缓冲成面,提取其中的一条边线作为后面旋转时的旋转轴;二维管线根据起点和终点高程差内插成三维线,按前面的旋转轴旋转三维线到水平状态。

        方管:根据宽缓冲成面,再根据高拉伸成管体,按前面旋转轴旋转到正确角度,最后平移到正确位置。

        圆管:根据管径缓冲成圆柱体,往上移动一个半径距离,使管底高度为0,按前面旋转轴旋转到正确角度,最后平移到正确位置。

        按照不同管线类型分别赋予不同颜色。

3. 管点附属物模型生成

                提取管点xy坐标,去除几何属性,后面直接用附属物模型替换;管点附属物模型在3dsmax里面制作好,导出3ds格式,在读模块里面加载进来,按不同模型分好类。 、

        从前面管线中提取出每条管线的管径、起点终点埋深和水平旋转角度;根据管点点号,分别计算每个管点连接的所有管线的最大埋深和最大管径以及其中最长管线的水平旋转角;

 

         根据上面的埋深、管径和角度对管点附属物进行缩放和旋转,再平移到管点的正确位置。

 

        写出带属性的3dtiles格式数据。

4. 在cesium平台中加载和属性查询

5. 管线连接地方即弯头处理

6.  测试用fme工具

fme实现gdb格式管线数据生成3dtiles格式三维模型-其它文档类资源-CSDN下载

        

Logo

电影级数字人,免显卡端渲染SDK,十行代码即可调用,工业级demo免费开源下载!

更多推荐