cesium+threejs结合实现GIS+BIM大场景-1
概述
前面已经花费了许多内容去介绍BIM如何搭建了。其实我不太担心抄袭,让有一些节省成本的老板想自己搞引擎的。(你搞去~看是不是能节省成本!)
那我们一步步说。有源码放源码。搭不出来说明你基础不好了。
首先Cesium入门准备。先下载吧。从这里可以找到:
下载
Cesium中文网:cesium编程入门(二)环境搭建 | cesium中文网,
当然官方最新版一定也要搞一个:CesiumJS – Cesium
此处插播广告。有BIM模型引擎的需求,可以找我们。
自研引擎产品试用,demo下载:
QModel-BIM模型浏览器
账号准备
Cesium可不像别的下载引入就能用。首先要去官方搞一个token
Cesium准备
注册:Cesium ion
新建应用App,生成Token,复制下来,
天地图准备
在中国,啥地图都不如用天地图,毕竟你得看一下,这是谁家的招牌!不过这个网站的信息不安全,小心你填写的学校信息,隔天就被骗子拿走了,说是京东客服,让老子在大学时期的啥手机号和证件还是什么的被拿去贷款老掉牙的套路,被我问候了他父母也没脾气。
说回正事,这里需要拿到一个Key,后面告诉你怎么用。
开始工作
首先,你得把Cesium的HelloWord跑起来。我在Cesium中文下载的1.40版本Demo,然后在官方下载的1.8SDK替换进去了。照样可以跑。如何跑起来这个helloword?,看官方教程或者Cesium中文,你可以在上一级使用node server.js
由于原版的Cesium的Helloword,是使用acrgis的。当你替换完cesium的token之后,已经可以看见地球了,但是没有中文,看着有点不适。
放出整个使用天地图的代码吧。替换进去即可。
<!DOCTYPE html>
<html lang="en">
<head><!-- Use correct character set. --><meta charset="utf-8"><!-- Tell IE to use the latest, best version. --><meta http-equiv="X-UA-Compatible" content="IE=edge"><!-- Make the application on mobile take up the full browser screen and disable user scaling. --><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"><title>Hello World!</title><script src="../Build/Cesium/Cesium.js"></script><script src="http://www.qmodel.cn/js/jquery-3.2.1.min.js"></script><style>@import url(../Build/Cesium/Widgets/widgets.css);html, body, #cesiumContainer {width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden;}</style>
</head>
<body><div id="cesiumContainer"></div><script>Cesium.Ion.defaultAccessToken='前面说的,Cesium的token';let viewerOption = {animation: false, // 控制场景动画的播放速度控件baseLayerPicker: false, // 底图切换控件fullscreenButton: false, // 全屏控件geocoder: false, // 地理位置查询定位控件homeButton: false, // 默认相机位置控件timeline: false, // 时间滚动条控件infoBox: false, //是否显示信息框sceneModePicker: false, //是否显示3D/2D选择器selectionIndicator: false, // 点击点绿色弹出 是否显示选取指示器组件sceneMode: Cesium.SceneMode.SCENE3D, //设定3维地图的默认场景模式:Cesium.SceneMode.SCENE2D、Cesium.SceneMode.SCENE3D、Cesium.SceneMode.MORPHINGnavigationHelpButton: false, // 默认的相机控制提示控件scene3DOnly: true, // 每个几何实例仅以3D渲染以节省GPU内存navigationInstructionsInitiallyVisible: false,showRenderLoopErrors: false, //是否显示渲染错误orderIndependentTranslucency:false,//设置背景透明errainProvider: Cesium.createWorldTerrain()};let viewer = new Cesium.Viewer("cesiumContainer", viewerOption);var TDU_Key = "前面说的,天地图的Key"//天地图申请的**//在线天地图影像服务地址(墨卡托投影)var TDT_IMG_W = "http://{s}.tianditu.gov.cn/img_w/wmts?service=wmts&request=GetTile&version=1.0.0" +"&LAYER=img&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}" +"&style=default&format=tiles&tk=" + TDU_Key;//在线天地图矢量地图服务(墨卡托投影) var TDT_VEC_W = "http://{s}.tianditu.gov.cn/vec_w/wmts?service=wmts&request=GetTile&version=1.0.0" +"&LAYER=vec&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}" +"&style=default&format=tiles&tk=" + TDU_Key;//在线天地图影像中文标记服务(墨卡托投影) var TDT_CIA_W = "http://{s}.tianditu.gov.cn/cia_w/wmts?service=wmts&request=GetTile&version=1.0.0" +"&LAYER=cia&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}" +"&style=default.jpg&tk=" + TDU_Key//在线天地图矢量中文标记服务(墨卡托投影) var TDT_CVA_W = "http://{s}.tianditu.gov.cn/cva_w/wmts?service=wmts&request=GetTile&version=1.0.0" +"&LAYER=cva&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}" +"&style=default.jpg&tk=" + TDU_Key;//此处插播广告。有BIM模型引擎的需求,可以找我们。官网http://www.qmodel.cn/let Img = new Cesium.WebMapTileServiceImageryProvider({ //调用影响中文服务url: TDT_VEC_W,//url地址,换影像还是矢量,随便你喜欢layer: "img_w", //WMTS请求的层名称style: "default",//WMTS请求的样式名称format: "tiles",//MIME类型,用于从服务器检索图像tileMatrixSetID: "GoogleMapsCompatible",// 用于WMTS请求的TileMatrixSet的标识符subdomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],//天地图8个服务器minimumLevel: 0,//最小层级maximumLevel: 18,//最大层级})viewer.imageryLayers.addImageryProvider(Img)//添加到cesium图层上let cia = new Cesium.WebMapTileServiceImageryProvider({ //调用影响中文注记服务url: TDT_CVA_W,layer: "cia_w",style: "default",format: "tiles",tileMatrixSetID: "GoogleMapsCompatible",subdomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],//天地图8个服务器minimumLevel: 0,maximumLevel: 18,})viewer.imageryLayers.addImageryProvider(cia)//添加到cesium图层上viewer.scene.globe.depthTestAgainstTerrain = !0;// 没有影像图层时地球的底色viewer.scene.globe.baseColor = Cesium.Color.BLACK;viewer.camera.setView({destination: new Cesium.Cartesian3(6788280.844465209, -81980750.10214644, 1061921.04004376)});viewer.camera.flyTo({// destination: new Cesium.Cartesian3.fromDegrees(116.435314, 40.960521, 10000000.0),// duration:8destination: new Cesium.Cartesian3.fromDegrees(116.435314, 22.960521, 2000.0),duration:18});</script>
</body>
</html>
来了来了。此处插播广告。有BIM模型引擎的需求,可以找我们。官网TestPage
换个效果再看下
今天先到这,下回继续。。。
cesium+threejs结合实现GIS+BIM大场景-1相关推荐
- GIS+BIM是什么?BIM+GIS应用的八大挑战
GIS+BIM是什么?BIM+GIS应用的八大挑战 BIM与GIS的跨界融合,使微观领域的BIM信息与宏观领域的GIS信息实现交换和互操作,提升了BIM应用深度,将BIM的应用从单体延伸到建筑群 ...
- 结合GIS+BIM数字孪生应用,将构建智慧综合管廊工程三维渲染新高地
近年来,我国绿色城市的建设发展正在如火如荼大规模的进行着,面对迅速发展建设留下来的城市病,需要不断地寻求解决方案,来实现绿色智慧城市的智能化发展,从城市的基础设施入手,我国地下综合管廊建设呈蓬勃发展态 ...
- 葛兰岱尔GIS/BIM/3D轻量化融合引擎引擎产品技术升级快报(二)
作为国内数字孪生GIS/BIM/3D轻量化融合引擎领导厂商.葛兰岱尔一直在持续优化产品,近期,在最新的引擎版本中提供了如下的功能升级: 1.完美支持的WGS84坐标系.国家2000标准坐标系.国家20 ...
- 葛兰岱尔数字孪生GIS/BIM/3D融合渲染引擎功能更新(一)
近期,葛兰岱尔数字孪生GIS/BIM/3D融合渲染引擎更新了一部分功能: 1.开发出了bentley的导出插件,同时实现了对bentley的管线类构件进行了参数化处理,如下图所示: 2.实现了针对re ...
- SuperMap GIS BIM类型数据处理 QA
一.数据简介 BIM(Building Information Modeling)建筑信息模型.首先由AutoDesk公司提出的技术,用来帮助实现建筑信息的集成,从建筑的设计.施工.运行直至建筑全寿命 ...
- SuperMap GIS BIM类型数据优化 QA
一.BIM数据特点 BIM数据它不仅可以在设计中应用,还可应用于建设工程项目的整个寿命周期中:用BIM进行设计属于数字化设计:BIM的数据库是动态变化的,在应用过程中不断在更新.丰富和充实:为项目参与 ...
- 基于GIS+BIM技术助力城市地下综合管廊绿色建设发展
由于天气强降雨导致城市内涝严重,天然气管道泄漏导致居民楼爆炸,道路反复开挖导致交通拥堵等诸多问题.因此,如何充分开发利用城市地下空间,实现统筹各类市政管线的规划.建设和管理,提高城市综合承载能力和城镇 ...
- 五分钟学GIS | BIM与三维GIS的融合
今天五分钟学GIS的时间我们来学习BIM与三维GIS的融合. 什么是BIM? BIM:建筑信息模型(Building Information Modeling)或者建筑信息管理(Building In ...
- 图新地球GIS+BIM工程设计施工管理平台
随着BIM技术在工程建设.智慧管理.公安应急.能源电力等行业领域的深入应用,BIM模型已经不仅限于设计.规划阶段,施工.运维阶段也已经大量运用起来.在整个项目不同阶段都有设计.施工.监理.业主等多方 ...
最新文章
- Simulink仿真---SVPWM算法
- linux 卸载 openssl,请教Linux下Openssl安装的问题。
- Java集合:List转数组互转
- Python Mysql_db对数据查询进行处理
- 统计rgb与yuv文件中各分量的熵
- java和seo学那个_Java和PHP编程语言哪个比较厉害?
- 一文读懂卷积神经网络(转载)
- PHP SPhinx::SetLimits 注意事项
- flask之--钩子,异常,上下文,flask-script,模板,过滤器,csrf_token
- Ubuntu系统安装及su安装
- 微信为什么要绑定银行卡?
- SQL企业管理器打不开
- 星起航:商品上架完成后抖音店铺该如何运营呢?
- Excel中反转一列数据的几种方法
- 女生到底还做java还是前端_女孩子想转行的话学前端好还是java,哪个更有发展?...
- EasyExcel3.0.5 导出多个sheet,批量下载打包成ZIP压缩包
- 文件误删秒恢复!微软又发布了一款命令行神器!
- 安卓rom包解包linux,[ROM开发]解包打包ROM详细教程 2017.9.8更新安卓7.0
- Python实现分钟倒计时
- 想从事人工智能和大数据的学生们,这里有几条职业建议给你