zoukankan      html  css  js  c++  java
  • 二维管线生成三维管线,转换3DTiles 思路

             前言

          二维管线管线通过规则建模生成三维管线模型一直都是管线系统一个重要的数据来源。在上一代三维技术(基于ActiveX)下,不同平台,不同的公司都基于某个平台开发出自己的规则化三维建模工具。而目前基于webgl 就那cesium 来说

    目前没有看到市场上有很完善的管线建模产品或工具,目前可以找到的就是蚂蚁管网以及西部世界提供PipeSer管线管网云服务。而管网数据一般都是涉密,以上的工具都不是很合适,都需要提供或上传管线数据。结合以前skyline管线生成的思路,

    尝试进行了管线规则建模的探索,以半自动的形式进行管网生成。

         思路

        1、提取管线参数,根据二维管线数据生成shp 点。分为圆管和方管,每个shp 点记录了管线的起止点坐标,管径,长度、俯仰角,朝向等参数

             

        2、提取管点参数,管点实际也是圆管,包含了管径、长度、附属物类型,特征点类型等参数

            

        3、CityEngine 规则建模

         1)圆管

           创建圆柱,设置方位角俯仰角等

          

         2)方管

           创建方形柱子,设置俯仰角

         

         3)模型替换,包括附属物和特征点

            使用替换的规则,替换模型

          

         4、CityEngine 导出模型,并根据模型和原有的二维管线数据编写python语言生成属性对应表csv,把管线的唯一标识与模型名称关联起来

          

         5、Cesiumlab 生成3DTiles, 生成模型时选择属性表,保证属性关联

               

        6、最终展示效果图

             

     7、不足之处

     1)特征点,比如弯头,三通还没有找到合适的参数用于模型的构建

      

    2)附属物类型太多,很难匹配所有数据,只能与数据人员一起需要什么数据,让建模人员建

    3)整个处理过程比较复杂,专业性比较高,无法生成大面积推广使用

    8、优势

    1)半自动建模,CityEngine 规则写好后只需要根据不同数据稍微修改即可快速生成模型

    2)导出的模型为FBX,可以对导入到不同平台,比如超图,cesium 都可以;而且对于一些匹配不好的数据,可以通过人工干预的方式完善效果

    9、后期计划

    1)研究特征点的参数生成

    2)探索制作管线编辑器的功能,对于管点管线数据可以通过编辑器进行修改完善

  • 相关阅读:
    Python的map、filter、reduce函数
    C/C++中extern关键字详解
    python中的多继承
    用python爬虫抓站的一些技巧总结
    python中的OO
    互斥量、条件变量与pthread_cond_wait()函数的使用,详解
    C/C++ struct位结构(位域)
    VS2008无法启动asp.net提示“无法启动程序: http://localhost/.../test.aspx” 数据无效”。
    昨晚比较开心,QQ2009 sp6的0x00dd发送出去的包终于搞明白了
    CRC32 CRC16 校验算法 C# 代码
  • 原文地址:https://www.cnblogs.com/study3d/p/14875995.html
Copyright © 2011-2022 走看看