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