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) 返回的高度值是指定地图位置的地形高度,以米为单位。

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

相关推荐
青山Coding4 天前
Cesium应用(三):全球气压可视化与气象时序图实现方案
前端·gis·cesium
不浪brown5 天前
开源!让二维变成三维立体雷达,提升项目的颜值
cesium
孪创启航营5 天前
数字孪生二维热力图制作,看这篇文章就够了!
前端·three.js·cesium
不浪brown6 天前
用Cesium打造沉浸式雨天涟漪的真实感!
cesium
不浪brown8 天前
开源!3D带地形的区域地图,原来用Cesium几行代码就搞定了!(附源码)
cesium
青山Coding10 天前
Cesium应用(二):基于heatmap.js 的全球气象可视化实现方案
前端·gis·cesium
不浪brown13 天前
WebGIS必备技能!Cesium坡度坡向分析全解析
cesium
1H1R1M14 天前
同步绘制视锥几何体和实际相机视锥体
前端·javascript·cesium
青山Coding15 天前
Cesium应用(一):解决 Cesium 海量船舶轨迹点渲染难题:轨迹数据池方案实践
gis·cesium
锦岁15 天前
cesium-1.92源码编译
cesium