Cesium淹没分析(干货)
Cesium淹没分析
淹没分析主要研究的是某一块指定的研究的区域,根据当前地表起伏(也可以依据三维模型),动态展示不同时刻、区域、水深、流速等的淹没可视化结果。
需要具备的参数:淹没范围的设定,水面上升速度;
具体步骤
1、cesium的初始化
let tiandituTk='你的tk';
let subdomains=['0','1','2','3','4','5','6','7'];
let viewer = new Cesium.Viewer('cesiumContainer', {imageryProvider: new Cesium.WebMapTileServiceImageryProvider({//影像底图url: "http://t{s}.tianditu.com/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="+tiandituTk,subdomains: subdomains,layer: "img",style: "default",format: "tiles",tileMatrixSetID: "w",show: true}),terrainProvider: Cesium.createWorldTerrain({requestVertexNormals: true,requestWaterMask: true})
});
2、核心代码
viewer.scene.globe.depthTestAgainstTerrain = true; // 地形深度检测
viewer.clock.shouldAnimate = true; // 时间开启
// 设置模拟时常
viewer.clock.startTime = Cesium.JulianDate.fromIso8601("2021-08-01T00:00:00.00Z"
);
viewer.clock.stopTime = Cesium.JulianDate.fromIso8601("2021-08-01T00:10:00.00"
);
viewer.clock.clockRange = Cesium.ClockRange.LOOP_STOP; // 反复循环
viewer.clock.multiplier = 10; // 时间倍速// 范围拟定
let extent = [{lat: 117.897,lng: 35.009,hgt: -131.5,},{lat: 117.91,lng: 35.011,hgt: -121,},{lat: 117.924,lng: 34.998,hgt: -123,},{lat: 117.908,lng: 34.991,hgt: -108,},{lat: 117.905,lng: 34.992,hgt: -106,},{lat: 117.899,lng: 34.998,hgt: -130,},
];let currentTime = Cesium.JulianDate.fromIso8601("2020-08-01T00:00:00.00Z"
);
let height = 100;
let propertyTime = new Cesium.TimeIntervalCollectionProperty(Number);
// 设置时间循环
for (var i = 0; i <= 600; i++) {let addTime = Cesium.JulianDate.addSeconds(currentTime ,i,new Cesium.JulianDate());let nxtTime = Cesium.JulianDate.addSeconds(currentTime ,i + 1,new Cesium.JulianDate());let stopFlg = false;if (i == 600) {nxtTime = addTime.clone();stopFlg = true;}height = height + 0.1;propertyTime.intervals.addInterval(new Cesium.TimeInterval({start: addTime,stop: nxtTime,isStartIncluded: true,isStopIncluded: stopFlg,data: height,}));
}// 面实体添加
viewer.entities.add({polygon: {hierarchy: Cesium.Cartesian3.fromDegreesArray(extent),perPositionHeight: true,extrudedHeight: propertyTime,// 设置图片的样式material:new Cesium.ImageMaterialProperty({image: this.folderUrl + "/images/water.png",repeat: Cesium.Cartesian2(1.0, 1.0), // 不重复transparent: true, // 启用png透明color: Cesium.Color.WHITE.withAlpha(0.5),}),},
});
附上水材质效果:
对于Cesium不熟悉的朋友别急,后面会讲解下Cesium基础的使用。
Cesium淹没分析(干货)相关推荐
- cesium 淹没分析效果实现
在某些大场景,比如洼地区域,或者在区省级别,全国范围内的项目,可以借鉴:首先实现淹没效果,然后结合业务,实现淹没分析相关功能. 1 效果预览 见 http://xiaobaigis.com/GiSar ...
- Cesium获取绘制范围内地形高程进行淹没分析
Cesium淹没分析,看起来以为很难实现,其实实现起来还是比较简单的,构建一个面,动态设置其extrudedHeight属性,一定要使用CallbackProperty动态设置extrudedHeig ...
- Cesium洪水淹没分析 洪水淹没高度的上涨与下降
最近在基于cesium做水利项目的淹没分析 因为真实的洪水情况下,对于不同的地势来说 每个淹没区间的不同时刻水位高度肯定是不一样的 所以要求对多河段的高度做一个动态的水位上涨与下降的效果 不同河段水位 ...
- cesium polygon 淹没分析
获取 AccessToken 思路 实时更新 polygon 的 extrudedHeight 代码 <!DOCTYPE html> <html lang="en" ...
- cesium添加淹没分析测量面积
var viewer=ysc.createNormalCesium("cesiumContainer",{ //添加cesium中的基础属性 inf ...
- Cesium(六)淹没分析(polygon版本)
淹没分析是三维分析常用的的其中一种分析,本文借鉴已有资料通过在地形图上动态拉伸polygon达到淹没分析的效果,下面给出淹没分析的主要代码: 效果: 一.容器创建&添加地形服务. var cu ...
- cesium 水位模拟_SuperMap iClient3D for WebGL教程- 淹没分析
淹没分析是指根据指定的最大.最小高程值及淹没速度,动态模拟某区域水位由最小高程涨到最大高程的淹没过程,是GIS分析中常用的功能,常用于模拟洪涝灾害过程.在SuperMap的三维产品中淹没分析是通过分层 ...
- cesium开发淹没分析_淹没在Web开发行业的工具中
cesium开发淹没分析 Every once in a while in this industry we need a reminder that our trade as front-end d ...
- vue + cesium 洪水淹没分析完整示例
目录 一.洪水淹没分析效果 二.部分核心代码 1.绘制多边形范围 2.处理多边形区域的最大和最小高程 三.JS完整代码 一.洪水淹没分析效果 二.部分核心代码 1.绘制多边形范围 /*** @auth ...
最新文章
- 波段 ku_X和Ku波段小尺寸无线电设计
- Python之初识函数(Day11)
- Easy UI Tree操作
- Everest 0.6 添加开机自启动程序
- UML学习——类图(三)
- AIR文件操作(三):使用FileStream对象读写文件
- 微型计算机天逸510s光驱,主机届的小钢炮,性能最强NAS——天逸510S Mini
- mysql 前端proxy_【4.分布式存储】-mysql及proxy
- Redis通过哨兵模式实现主从复制的分布式
- 北航、商汤提出的网络二值化新算法 IR-Net,到底好使不?
- 在Objective-C中,如何测试对象类型?
- 190611每日一句
- 一次搞定this和闭包
- 骂百度的人为何那么多
- SpringBoot-短信发送
- 联想ThinkBook解锁FN键
- 数字中国城市巡礼之枣庄:大数据时代的微缩盛宴!
- 【正点原子MP157连载】 第九章 TF-A移植-摘自【正点原子】【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7
- AR、VR、MR 别傻傻分不清了
- Matplotlib中的“plt”和“ax”到底是什么?