cesium中获取高度的误区

this.ellipsoid = viewer.scene.globe.ellipsoid;
var cartesian = viewer.camera.pickEllipsoid(e.position, this.ellipsoid);

if(cartesian){
	// 苗卡尔椭球体的三维坐标 转 地图坐标(弧度)
	 var cartographic = viewer.scene.globe.ellipsoid.cartesianToCartographic(cartesian);
	 // 地图坐标(弧度) 转 十进制度数 toFixed保留小数点后几位
	 var log_String = Cesium.Math.toDegrees(cartographic.longitude).toFixed(8);//经度
	 var lat_String = Cesium.Math.toDegrees(cartographic.latitude).toFixed(8);//纬度
	 // 返回的高度值是相机当前位置的海拔高度,以米为单位
	 var alt_String = (viewer.camera.positionCartographic.height/1000).toFixed(2);//视角高
	 // 返回的高度值是指定地图位置的地形高度,以米为单位
	 var elec_String = viewer.scene.globe.getHeight(cartographic).toFixed(4);//海拔
	 $this.latObj = {log:log_String,lat:lat_String,alt:alt_String,elec:elec_String}
}

注意上面:

viewer.camera.positionCartographic.height 返回的高度值是相机当前位置的海拔高度,以米为单位。

viewer.scene.globe.getHeight(cartographic) 返回的高度值是指定地图位置的地形高度,以米为单位。

有时获取的是指定位置的地形高度,不是当前相机的高度

相关推荐
不浪brown2 天前
开源!Cesium视频投射,手把手教你如何让实时视频流“长”在三维地球里!
cesium
整点可乐4 天前
cesium热力图曲面简单实现,使用heatmap
前端·cesium
不浪brown7 天前
应急指挥&污染扩散模拟 | Cesium 多边形动态扩散墙实战教程(附源码)
前端·cesium
枝上棉蛮11 天前
如何用GISBox将高斯泼溅文件(PLY/Splat)转换为3DTiles?全流程解析
gis·cesium·ply·3dtiles·高斯泼溅·gis软件·splat
白嫖叫上我1 个月前
Ceisum无人机巡检直播视频投射
无人机·cesium·webgis
easyCesium1 个月前
大疆机场及无人机上云
cesium·dji
一嘴一个橘子1 个月前
Entity 的材质(棋盘、条纹、网格)
cesium
一嘴一个橘子1 个月前
primitive 的 Appearance编写着色器材质
cesium
一嘴一个橘子1 个月前
primitive 编写着色器材质
cesium
不浪brown1 个月前
【开源】Cesium中让模型动起来,丝滑又顺畅
前端·cesium