三维功能

1、可视域分析

视域分析以观察者的角度,比较直观的展现地理空间中可视部分与不可视部分。

//创建可视域分析对象
var viewshed3D = new Cesium.DEViewshed3D(viewer);    
//以primitives的方式将视域分析对象加载到当前场景中    
viewer.scene.primitives.add(viewshed3D);
//设置视域分析的观测点与目标点    
viewshed3D.viewerPosition=Cesium.Cartesian3.fromDegrees(119.06320539907986,33.59120978010516,64.69074782157811);  
viewshed3D.setPoseByTargetPoint(Cesium.Cartesian3.fromDegrees(119.06260849360362,33.5927070973726,55.19686637677648));

除了以上基本参数,视域分析还支持设置水平视角与垂直视角、方向角、俯仰角、可视距离和分析颜色的调整。

2、分层设色

//创建用于分层的颜色表,指定对应的颜色值
var colorTable = new Cesium.DEColorDictTable();  
colorTable.insert(91.0, new Cesium.Color(0.0, 0.0, 0.0));  
colorTable.insert(92.0, new Cesium.Color(0.0, 0.0, 1.0));  
//将颜色表分配给tile数据,并设置显示模式
tileset.setColorTable(colorTable);  
tileset.setDisplayMode(2);

3、双屏对比

先创建用于对比的两个Viewer,用于方案对比。

var viewLeft = new Cesium.Viewer('viewLeft', options3D);  
var viewRight = new Cesium.Viewer('viewRight', options3D);

4、模型压平

模型压平功能可将场景中绘制区域内的模型压平,模拟实现规划方案效果对比与展示,满足规划行业的应用。

var Mypolygon = new Cesium.PolygonGeometry({  
polygonHierarchy:new Cesium.PolygonHierarchy(event.positions),  
perPositionHeight : true  
});  
var index = tileset._flattenPolygon.push(Mypolygon) ;  
tileset._needUpateFlatten = true;

模型数据压平前和压平后效果:

5、日照分析

日照分析基于给定时间段,以日照率的形式,计算在此时间段内指定空间范围内所受光照强度,一般以冷色到暖色过渡的方式显示。

//创建日照分析对象    
var sunshineAnalyze = new Cesium.sunshineAnalyze(viewer);    
//以primitives的方式将日照分析加载到当前场景中    
viewer.scene.primitives.add(sunshineAnalyze);    
//设置分析的区域点    
Var pointsArray = [116.368,39.913,100,116.382,39.901,110,116.387,39.912,120];  
sunshineAnalyze.regionPoints = pointsArray;

除了点的显示方式外,日照分析还支持立方体的显示方式,只需设置 sunshineAnalyze.isCubicStyle = true

results matching ""

    No results matching ""