基于CesiumJS的三维WebGIS研究与开发.docx

基于CesiumJS的三维WebGIS研究与开发.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

?

?

基于CesiumJS的三维WebGIS研究与开发

?

?

崔邓闫中亚

摘??要:由于传统的二维WebGIS不能完全反映三维世界,随着计算机软硬件的发展,应用需求的强烈推动,WebGL技术与GIS技术结合成为三维WebGIS发展的重要方向。基于CesiumJS的开源JavaScript库,系统开发实现地图、地形、模型的加载,以及地图标注、三维量测、查询和空间分析等功能。

关键词:计算机;研究;开发

引言

CesiumJS源于2011年AnalyticalGraphicsIncorporation(AGI)公司由一组图形开发人员创立,使用于Web浏览器支持创建2D地图和3D地球的Javascript库,实现真正的二三维一体化。其不需要安装任何插件就能够在支持HTML5的标准浏览器上运行,使用WebGL作为图形渲染引擎,因为它在动态数据可视化方面具有很大的优势。

一、系统的总体设计

(一)总体架构设计

采用JAVA作为开发语言,在MyEclipse集成开发环境下使用jQuery和vue.js等前端技术进行开发,以Postgresql空间数据库进行数据的管理和分析,采用三层的开发架构。

(二)技术路线

表现层即为浏览器表示层,主要负责浏览器端对二三维信息的展现,以及用户的交互,向服务端发送请求,增删改查空间数据,在地图上进行二三维图形模型和属性数据的展现等功能。应用服务层主要是基于用户操作获取数据进行空间分析,将结果返回到浏览器端。数据层使用PostgreSQL数据库,结合PostGIS可以對空间数据进行管理转换,并在服务器容器中存储模型和地形数据提供给表现层和服务层调用。

二、系统的关键技术研究

与传统的二维WebGIS的JavaScript库不同,CesiumJS不仅仅加入了高度,也突出强调时间概念,并以原子钟的铯(Cesium)元素命名,更加强调时空概念,以动态模拟现实世界。

(一)地图与地形加载

CesiumJS在地图数据的加载上支持多种数据源的图层格式,包括WMS,TMS,WMTS,Bings地图,Mapbox,谷歌地图,OpenStreetMap,ArcGIS地图服务,标准图片格式文件和自定义的瓦片拼接方案,访问地理空间数据符合行业标准。图层之间可以互相叠加,并且图层的亮度,对比度,色调和饱和度可以动态改变。

在地形数据上,CesiumJS使用的是STKWorldTerrain高分辨率,基于quantizedmesh的在线全球地形可视化。应用CesiumTerrainProvider方法进行全球地形数据加载。对于需要离线部署的情况,可以基于DEM数据,使用gdal2srtmtiles_x64工具生成不同级别的地形瓦片数据,发布到服务器。

(二)glTF与3DTiles

glTF(GLTransmission?Format),即图形语言交换格式,是目前3D模型的一种格式标准,其优势之一是在Web传输和解析方面更为高效。glTF还可以方便的通过CZML创建数据驱动的动态场景。

倾斜三维模型文件的格式为CesiumJS支持的3DTiles格式,3DTiles格式以分块、分级渲染,将大数据量的倾斜三维数据以分块的、分层的形式组织起来,可以大量减轻服务器以及GPU的负担,是一种格式公开、设计优秀的WebGIS平台三维数据展示格式。3DTiles采用的是一种类似CMOS地形和图像流的技术,通过树形空间数据结构对输入数据集进行三维切块,可以理解为具备LOD能力的glTF,每个分块可以看作一个完全包围其数据集的三维边界。同时,为了使各种数据集的包围体紧密排列,包围边界可以根据实际需要采用不同形状,如定向包围盒、包围球或基于最大最小经纬度和高程定义的地理区域。上述优势使得3DTiles成为目前流媒体的大规模异构三维地理空间数据集的开放规范,更适用于密集三维场景的可视化展示,如城市建筑物轮廓,高精度的BIM模型、点云和摄影测量等数据模型。

(三)绘制与标注量测功能

在图形绘制方面,CesiumJS中GeometryInstance提供加载Geometry和attributes,进行各种二三维图形在地球上的加载。能够绘制多种集合形状并且设置其样式,如折线、点、多边形、圆形、盒、球、椭球、圆柱等形状。在自定义图形方面,支持工业级矢量数据格式,包括KML,GeoJSON和TopoJSON。

CesiumJS提供用户交互和绘制方法,在浏览器界面上绘制并计算两点之间的平面距离、高度、斜距的测量。

(四)淹没分析、地形剖面分析

淹没分析是绘制面模拟水面升降,依据时间的变化,动态调整高度,实现三维模型的洪涝灾害的演示分析。

地形剖面分析是通过绘制线段,通过分割一定距离截取相

文档评论(0)

138****8091 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档