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

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

相关推荐
GisCoder4 天前
Cesium教程(9)---编辑Entity图形控制点、拖拽Entity移动、删除Entity
webgl·cesium
GISBox4 天前
BIM+GIS协同:RVT文件转3DTiles的技术路径与场景落地
cesium·3dtiles·gisbox·服务分发·gis server·切片转换·rvt
GISBox5 天前
高斯泼溅转3DTiles:GISBox高效转换全流程指南
免费·cesium·ply·3dtiles·高斯泼溅·gisbox·切片转换
王将近6 天前
Cesium 山洪流体模拟
前端·cesium
GisCoder8 天前
Cesium+Vue3学习教程系列(6)---实时显示鼠标三维坐标数据、实时显示相机姿态heading、pitch、roll数据
cesium
GIS瞧葩菜8 天前
【无标题】
开发语言·前端·javascript·cesium
GisCoder10 天前
Cesium+Vue3学习教程系列(2)---添加天地图影像、添加地形
cesium
GISBox13 天前
从PLY到3DTiles:GISBox助力三维数据格式转换全流程
免费·cesium·ply·高斯泼溅·gisbox·服务分发·gis server
WebGIS开发13 天前
《Cesium进阶教程:Shader与三维GIS可视化实战》
可视化·cesium·cesium教程·cesium进阶教程
十年_H17 天前
Cesium 顶点着色器的数据来源
javascript·webgl·cesium