Cesium 各种坐标转换


2、打印出当前经度、纬度、高度、摄像头参数

const { longitude, latitude, height } = viewer.camera._positionCartographic console.log(`${Cesium.Math.toDegrees(longitude)}, ${Cesium.Math.toDegrees(latitude)}, ${Math.ceil(height)}`) console.log(`{ heading: ${viewer.camera.heading}, pitch: ${viewer.camera.pitch}, roll: ${viewer.camera.roll} }`) 

3、弧度经纬度互转

Cesium 中没有具体的经纬度对象,要得到经纬度对象,需要先弧度,再进行转换。

// 经纬度转弧度 Cesium.Math.toRadians(degrees) // 弧度转经纬度 Cesium.Math.toDegrees(radians) 

4、经纬度坐标转世界坐标

var cartesian3 = Cesium.Cartesian3.fromDegrees(lng, lat, height) 

5、世界坐标转经纬度坐标

// 第一步: 笛卡尔空间直角坐标系转为地理坐标(弧度制) var cartographic = Cesium.Cartographic.fromCartesian(cartesian3) // 第二步 var lat = Cesium.Math.toDegrees(cartographic.latitude) var lng = Cesium.Math.toDegrees(cartographic.longitude) var height = cartographic.height 

6、屏幕坐标和世界坐标转换

// 二维屏幕坐标转为三维笛卡尔空间直角坐标(世界坐标) var cartesian3 = scene.globe.pick( viewer.camera.getPickRay(windowPosition), scene, ) // 三维笛卡尔空间直角坐标转为二维屏幕坐标,结果是 Cartesian2 对象,取出XY即为屏幕坐标。 windowPosition = Cesium.SceneTransforms.wgs84ToWindowCoordinates(screen, cartesian3)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM