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

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

相关推荐
二狗哈16 小时前
Cesium快速入门33:tile3d设置样式
3d·状态模式·webgl·cesium·地图可视化
闲云一鹤3 天前
Cesium 去掉默认瓦片和地形,解决网络不好时地图加载缓慢的问题
前端·cesium
闲云一鹤4 天前
将地图上的 poi 点位导出为 excel,并转换为 shp 文件
前端·cesium
CHPCWWHSU7 天前
CesiumforUnreal环境准备
c++·cesium·unreal·osg
毕安格 - BimAngle8 天前
Revit 模型一键输出 3D Tiles (for Cesium) 和 glTF/glb
3d·cesium·gltf·glb·3d tiles
二狗哈8 天前
Cesium快速入门30:CMZL动画
javascript·3d·webgl·cesium·地图可视化
二狗哈8 天前
Cesium快速入门29:CMZL数据格式加载
3d·状态模式·webgl·cesium·着色器·地图可视化
一梦、んんん8 天前
Cesium实时数据的雷达包络图渲染
cesium·雷达包络效果
二狗哈10 天前
Cesium快速入门27:GeoJson自定义样式
前端·cesium·着色器
二狗哈11 天前
Cesium快速入门26:加载渲染GeoJson数据
3d·webgl·cesium·地图可视化