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

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

相关推荐
李剑一2 小时前
解决 Cesium 网络卡顿!5 分钟加载天地图,内网也能流畅用,附完整代码
前端·vue.js·cesium
GISBox4 小时前
GISBox 2.1.7 版本更新:新增批量矢量导入功能,多项问题修复
gis·cesium·属性表·矢量·gisbox·场景编辑·切片转换
李剑一3 天前
超实用!数字孪生 Cesium 园区 3D 模型加载,一次学会的保姆级教程
前端·vue.js·cesium
李剑一10 天前
拿来就用!Vue3+Cesium 飞入效果封装,3D大屏多场景直接复用
前端·vue.js·cesium
曲折11 天前
Cesium-气象要素PNG色斑图叠加
前端·cesium
GIS开发特训营25 天前
Cesium Shader 实战:三维 GIS 可视化进阶教程
gis·cesium·gis开发·webgis
GDAL1 个月前
viewer.camera.flyTo 全面教程
cesium·camera·flyto
GIS学姐嘉欣1 个月前
Cesium进阶教程(2)线性高度雾
javascript·cesium·gis开发·webgis
GISBox1 个月前
一站式体验GISBox 2.1.3:矢量样式扩展与3DTiles位置优化
gis·cesium·倾斜摄影·ifc·osgb·gisbox·切片转换
那年那棵树1 个月前
【WebGis】基于WebGis的系统设计与开发
gis·openlayers·cesium·地理信息系统