基于cesium的三维管线系统综述

按照惯例,给出结论:

(1)cesium是个javascript库,地图数据通过cesium可以在浏览器中直接浏览,也就是它是一个网络三维地图引擎;

(2)web服务器使用Tomcat,有了cesium,建立一个三维地理信息服务的成本显著下降。

Cesium三维场景支撑下的南水北调地下管线应用_孟晓宇

3 关键技术及应用
3.1 二维地图平台实现
目前二维地图制图的相关功能较为成熟,主流商业软件均能较好实现,对数据并无特殊要求。在 Arc GIS 桌面软件制作地图的流程为: 根据规程要求定制相应二维符号库,将管网、点数据添加到地图中,对不同图层生成相应专题图并发布服务叠加到二三维一体化GIS平台中。为了保证数据的统一性,本文统一将图层坐标系设置为WGS84坐标系。
3.2 三维场景可视化
      Cesium是基于 Java Script 编写的使用 Web GL 的地图引擎,在 B/S 框架下可以支持绝大多数的浏览器展示 3D 效果,基于Cesium 并配合已有的 API 二次开发,实现在三维场景下动态地理空间数据的可视化,实现沿管线走向的模拟开挖,关键构件的数据提取等应用。首先在 B 端创建标签元素用来作为三维地球的容器,初始化 Cesium Viewer 实例,通过关键代码叠加不同的图层服务。
    s Li()=v.add S3Mtiles Layer By Scp(sui,{*n:n}) (1)
   v.terrain Provider=new Cesium.Cesium Terrain Provider({*su:su}) (2)
   d Li()=su<r:json>(3)
     上述公式中:s Li(),d Li()仅代表实现方法的函数,v 代表初始化视图view,①式表示加载的三维切片服务,sui代表多个url 服务的数组,另外一个参数代表命名服务名称的键值对。②式代表通过 url 形式的服务加载地形,③式则表示直接调用在平台上发布的接口并返回json格式的数据服务。
      叠加完图层服务之后,开始创建相机视角,将三维场景飞行到濮阳配套工程管线区域上,同时将坐标转换为笛卡尔分量后定位该区域,因三维管线采用绝对高度,处于地形之下,将地形隐藏之后,即可直观的看到三维地下管线的展示效果,如图2 所示:
    而要想实现对地下管线的走向或查询要素,要对地形进行模拟开挖,利用数据处理结果中的缓冲区面来对管线上部的带状地形沿线开挖,具体算法如下所示:
point List =d Li(p=>p.geometry.points) (4)
Loop:t Arr.push(Cesium.Cartographic.from Degrees(points List[i].x,points List[i].y)) (5)
     上述获取数据接口的函数中得到缓冲区坐标点串,记为point List,并且在④式中 points 代表含有 x,y 坐标分量的空间对象。通过⑤式循环将转换后的空间点位置依次入栈。最终通过调用API方法查询完成的地形切面并完成开挖。
    三维量测的功能可以对带有高程的三维地下管线进行距离、高程以及面积量测。
     其关键技术的解决与优化可以对传统二维地下管网管理系统进行提升,利用三维 GIS 可视化技术,将地下管网以一定比例的三维模型形式直观、真实地表现出来,用科学的手段使得城市地下管网的管理工作变得简单易行,解决了人工管理效率低下以及二维系统表现力不强的缺陷。

点击查看原图

地下管线的三维建模及可视化研究_李康

     为了提供智慧城市解决方案,伟景行公司自主开发了三维 GIS 平台 City Maker,后续在该平台上实现了地下管线三维管理功能。City Maker 的数据引擎 FDE 可以将三维模型、矢量数据等一同存储在关系型数据库中,但是由于在系统中缺乏二维地图渲染引擎、二维符号库等,暂时还无法实现二维管线地图。北京超图公司通过 SDK+空间数据引擎将三维模型与管线数据同时存储在管关系型数据库中,可以将数据库中的管线数据以二维或三维的形式进行场景展示。
    还有其他许多单位与公司也在管线三维管理软件的研发上取得了成果,例如北京测绘院基于Arc Info 开发了北京地下管线管理系统、北京 Image GIS 开发了管线三维管理系统、上海城市地理信息系统发展有限公司开发的 City GIS 软件等。 
     国内还有一些软件将 3DGIS 与 BIM(建筑信息模型)软件结合起来开发管线管理系统。BIM 可以处理有关建筑物的一些微观方面的细节,结合倾斜摄影测量技术,可以快速构建大规模地上建筑物信息,而 3DGIS 更加擅长对宏观的管线信息进行处理,可以通过对软件的设计完成地上建筑物的显示模式,比如降低建筑物的透明度可以方便对地下管线模型的显示。这些软件系统在地下管线的管理工作中发挥了巨大的作用,提高了管线管理工作的效率。

 5.3.2 模型生成
     Cesium 平台所支持的 gl TF 格式是一种开源模型,适用于 Web 传输,属于一种输出格式,现已基本成为 Web 导出的通用标准,只能由建模软件创建的三维模型转换而来。
     Cesium 中常用的坐标系主要有两种:WGS84 坐标系和笛卡尔空间直角坐标系。原先模型的地理坐标系统为 CGCS2000 大地坐标系,将其转换为 WGS84 坐标系。依次赋值给管线模型,将带有地理坐标的.3ds 格式管线模型格式转换为 obj 模型,并将各个附属设施管点的地理坐标保存起来,将其转换为 gl TF 格式。再将刚才保存的地理坐标赋值给 gl TF 格式文件的position 值,为 gl TF 模型指定加载位置信息,最终建立 gl TF 格式模型库。通过 Cesium 相关函数完成三维管线模型的加载与显示。
    在 3DS MAX 中制作好模型文件后,可以使用第三方插件完成格式转换。具体步骤如下:

   (1).max 格式→.obj 格式
    在 3DMAX 软件中模型默认是以.max 文件进行储存的,在导出选项中选择gw::OBJ-Exporter 以.obj 格式进行导出,同时生成 maps 文件夹用来保存贴图文件。
  (2).obj 格式→.dae 格式
    导入之前生成的.obj 文件,在自定义中加载新插件 COLLADAMax.dle,在导出选项中选择 Open COLLADA 以.dae 格式导出文件,同时自动将.png 格式的贴图文件保存在images。
  (3).dae 格式→.gltf 格式
    借助运行应用程序 collada2gltf,将模型最终转换为.gltf 格式,如图 5.10 所示。gl TF文件中包含 json(说明文件)、bin(数据文件)和 textures(贴图文件)三个部分。

 点击查看原图

  (4)模型存储
    在网络服务器上安装数据库管理系统(DBMS)和 Arc SDE 地理数据库,然后建立从 Arc Catalog 到 Arc SDE 地理数据库的连接,将制作的 gl TF 格式管线模型存储到该数据库中,形成管线模型库。

5.3.3 功能实现
      Active X 控件作为一个典型的可重用插件,具有很强的复用性,把开发完成的Active X 控件当作一个组件添加到其他应用程序中,就可以快速植入该插件实现的特定功能,大大提高了应用软件开发的效率。
Active X 控件可以使用 VB,VC,C++,Java,Power Builder,VBScript 等编程语言进行开发。
      为了实现在 B/S 端对三维管线进行管理的目的,编写了相应的管线三维模型处理函数。包括管线加载函数、管线定位函数及管线浏览函数等,将这些函数封装到一个Active X 控件中,然后部署到服务器上即可实现相关功能。
   (1)模型加载功能
     基于 Cesium 加载 gl TF 格式的管线模型,实现在浏览器端绘制三维管线的功能,关键代码如下:
  var viewer = new Cesium.Viewer('cesium Container');
  var terrain= Cesium.create World Terrain({
  request Water Mask:true,
  request Vertex Normals:true
  });
  viewer.terrain Provider= terrain;
  var entity = viewer.entities.add({
  position : position,
  orientation : orientation,
  model : {
  uri : '/管线/管线.gltf'   }
  });
viewer.tracked Entity = entity;
加载效果如图 5.11 所示。

无标题102.png
 (2)浏览与交互功能
      在场景中加载 gl TF 模型后,可以利用 Cesium 的浏览功能对模型进行放大、缩小平移、旋转等操作。实现用户以不同的视角对管线模型进行观察的目的。具体操作为:
    (a)按下鼠标左键同时移动鼠标可以完成模型平移操作。
   (b)按下 Ctrl 键时按住鼠标左键移动鼠标,可以完成模型的旋转操作。
   (c)滑动鼠标滚轮,可以实现模型的放大与缩小功能。
   (d)按下鼠标滚轮并移动鼠标,当前视口照相机位置保持不变,但视口照相机的视线方向随着鼠标的拖动而改变,实现从不同视角观察模型的功能。
 (3)属性查询功能
      当用户使用鼠标拾取场景中的一条管线时,可以查询该管线的编号,根据管线编号查找管线属性库中的信息,如管线材质、管线类型、管半径等信息。结合数据库对模型进行简单的查询,从而显示出该管线的属性信息,效果如图 5.12 所示。

无标题103.png
(4)定位功能
       利用 Cesium 可以实现根据地理位置进行管线定位的功能,在搜索框中输入相应的地名等信息,如果管线属性数据中带有相应的地理位置信息,则可以自动定位到所输入地名处的管线。
 河湖岸线监测管理系统设计与实现_金晶

      摘要: 针对当前河湖岸线监管效率不高及监管手段信息化程度不足等现状,以泰州引江河为试点河道,设计和开发一套河湖岸线监测管理系统。系统基于 B /S 架构,结合倾斜摄影测量、低空航测遥感、地理信息系统和空间数据库等技术,通过三维场景实时渲染、量测和空间分析等方式,发现并记录河湖岸线监管范围内存在的违规违章等问题事项,为水管单位进行日常管理及相关决策提供技术支持。系统同时支持多角色账户管理,提供公众参与入口,可有效提升多部门间协同工作效率。

无标题104.png

基于Cesium的南中国海石油平台信息系统设计与开发_李桂华

3 结束语
      地理信息系统技术在海洋数据管理、海洋预报分析、海洋数据共享等领域的应用越来越多,大大提高了海洋         数据的使用率和人们的工作效率,是“数字海洋”建设重要的组成部分。传统的海洋溢油在线分析鉴别平台与时空数据管理平台多依赖于商业 GIS 软件开发实现,具有体系过于庞大、启动速度缓慢、成本高昂、部署和维护困难、系统运行不稳定等问题。海洋环境监测、海洋资源管理等部门希望通过新的软件为地理信息的展示与分析提供一个低成本、易共享的解决方案。本文基于 Oracle 数据库与 Cesium 平台,采用 Echarts、Web Service 和 Ajax 等网络编程技术,设计开发了面向南中国海区域海上石油平台的信息管理系统。该系统提供了油样定位、平台查询、采样统计、周边搜索等功能,使用谷歌、天地图等离线切片地图数据,实现 C/S 到 B/S 模式的灵活切换,充分发挥两者的优势,为远程油指纹信息的快速检索、鉴别以及信息发布、共享提供了一个方便快捷的平台。实际应用表明,该系统通过接入国家海洋局南海环境监测中心的溢油分析鉴别业务流程,将常用的数据处理操作网络化,实现了石油设施和油样信息的可视化管理,提升操作效率以及系统运行的稳定性。
      本文对南中国海石油平台信息系统的设计与开发进行了探索和研究,在一定程度上为海洋溢油鉴别与时空数据管理提供了一个低成本的解决方案,具有一定的实际应用价值,但是系统的稳定性还需要后期继续更新完善。
无标题105.png
 基于Web3DGIS的特色小镇展示系统开发_王玮

1.2 关键技术
1.2.1 Cesium

    Cesium 是一个基于 Javascript 编写的使用 Web GL 的地图引擎,无须任何插件,隶属于美国 AGI 公司,该公司一直致力于时空数据业务。Cesium 使用 Web GL 来进行硬件加速图形化、跨平台、跨浏览器,并且针对动态数据进行可视化。Cesium 是基于 Apache 2.0 许可的开源程序,它可以免费用于商业和非商业用途。
     Cesium 能方便用户快速搭建一款零插件的虚拟地球Web 应用,并在性能、精度、渲染质量以及多平台、易用性上都有高质量的保证。支持多种资源的图像层,包括WMS、TMS、WMTS 以及时序图像,并且可使用 3D tiles 格式流加载各种不同的 3D 数据,包含倾斜摄影、人工模型、三维建筑物、CAD、BIM、点云数据等,是一款理想的三维展示平台引擎。本文采用 Cesium 平台作为 Web3DGIS 平台来构建系统。
1.2.2 ECharts
      ECharts 是一个使用 Java Script 实现的开源可视化库,可以流畅地运行在 PC 和移动设备上,兼容当前绝大部分浏览器( IE8/9/10/11、Chrome、Firefox、Safari 等) ,底层依赖轻量级的矢量图形库 ZRender,提供直观、交互丰富、可高度个性化定制的数据可视化图表,本文采用 ECharts 可视化图表技术来展示监测分析指标。
1.3 系统架构
    系统由底层自下而上多层设计,其中,支持层包括系统相关的软件、硬件、数据库( 地理空间和属性数据库) 和操作系统,其中 Web 服务器软件采用 Tomcat,这是一款技术先进、性能稳定的主流 Web 应用服务器。数据层是平台的数据和服务基础,由专题数据、地图数据、行政区划范围数据、三维成果数据组成。
    应用层提供各类电子地图服务、三维模型服务、监测相关专题服务、统计服务。
    最后,根据应用层服务结合江苏省特色小镇展示系统的建设目标,将系统设计主要分为综合分析指数动态展示、数据模型( 矢量、影像、三维) 、城镇风貌、最短交通距离、小镇客厅服务能力等多个模块提供用户使用,如图1 所示。

无标题106.png

基于WebGL的城市地下管网三维可视化研究及应用_冯凯文
 6.1 总结
      地下管网的信息化管理是推动城市信息化建设的重要组成部分,能否合理有效的组织管理地下管网关系着城市信息化建设能否顺利开展。三维管网的直观性,使其在基于管网的信息管理应用中具有高效的空间分析表现能力以及交互性能。Web GL 作为新一代图形绘制技术,其跨平台、开放、无插件的优势对于构建三维 Web GIS 应用具有十分重大的意义,本文对基于 Web GL 的城市地下管网三维可视化问题进行了深入研究,主要工作总结如下:
 (1)研究了地下管线的类别和空间分布特征,并根据一些建模原则将地下管网模型简化和剖分成只存在管段和管点两类元素;同时提出了管网自适应建模方法,通过给二维管段、管点数据设置一些渲染参数如三维符号 ID、线宽、高度模式、埋深和旋转角度等来实现三维管段、管点模型的渲染,可以简化管网连接件的复杂度,实现将相邻的管段自动连接起来。
(2)设计了一个基于 Web GL 的三维管网场景数据渲染方案,具体方案分为数据获取、数据组织、渲染实现。研究了适用于  Web  GL 解析和多源数据网络传输的 S3M 三维空间数据格式,并分析了该数据规范的特点和优势,同时对三维管网场景数据(地上倾斜摄影测量模型和地下管网模型)进行了批量转换,统一了多种不同来源的三维管网场景数据格式,该数据格式对数据进行分级分块的合理组织,有助于提高基于 Web GL 的可视化效率。
 (3)采用了一个视景体裁剪算法,该算法对 Web GL 场景中当前视域范围内的地物要素进行可见性判断,保留了可见的地物要素,剔除了不可见的地物要素,从而减少客户端渲染模型的负担,保证了Web GL 可视化模块的高效运行。
 (4)采用了一个基于多叉树的三维管网场景数据调度算法,该算法对在 Web GL 场景切换时能够快速的从 Web 服务器中获得当前视域范围内的数据,解决了三维管网场景数据加载调度问题,实现了三维模型数据在 Web GL 中的平滑流畅渲染。
 (5)采用 B/S 模式、Cesium 为框架,利用 Java Script、HTML5、CSS、Super Map i Server以及 Super Map i Client 3D for Web GL 技术开发了城市地下管网三维信息管理系统,实现了三维管网场景数据的高效可视化与专业的分析、查询功能模块。系统包括可视化模块、场景控制模块、量算模块、查询模块、空间分析模块。

 点击查看原图

点击查看原图

基于WebGL的管网三维地理信息系统构建及应用_李政和

本文主要完成了以下方面的研究工作:
1)设计了合理的管线数据模型,建立管线空间数据库,选择DXF图形文件作为本文的数据源,分析了其结构组成和层次分布,并对管线数据进行了提取,并将数据转换为WebGL支持的JSON格式;
2)针对管网模型的结构分析和模型简化,将管线剖分为直线段和连接模型;实现了不同管径连接模型的匹配;管线材质赋予、着色处理实现方法,构建了完整的三维管网模型;
3)通过WebGL加载Esri发布的全球影像切片和图层整合,实现地图场景的搭建,从OSMBuilding采集三维建筑物底图数据,实现了三维建筑的可视化;
4)采用WebGL的Cesium框架将三维管网与建筑数据加载到地理场景中,并实现了系统的功能包括:DXF文件的导入和实时建模、场景浏览与用户交互、管线实时数据显示与地图图层变换。实验结果具备流畅的用户体验效果,通过实际应用证实了本文的建模方法具有较高的准确性和可靠性.

 点击查看原图

三维GIS管网系统关键技术的研究与实现_朱朝宁

4.5.1  系统开发模式
     本系统采用 B/S 模式的软件体系架构,使用 Java 的 SSM 框架和 Cesium 地图框架在 Intelli J  IDEA
中搭建三维 GIS 平台,然后上传到华为云服务器平台中,用户不需要安装客户端程序,通过浏览器就可以查看三维 GIS 平台,可以高效地验证空间分析策略在实际项目中的运行状态。系统总体结构图如图 4-2 所示。

无标题110.png
更多咨讯见xiaok海洋测绘网及同名公众号

猜你喜欢

转载自blog.csdn.net/u011115875/article/details/113830217