|

楼主 |
发表于 2022-6-19 20:35:31
|
显示全部楼层
本帖最后由 tzbm123456 于 2022-7-27 11:58 编辑
一、弧度角度转换:
1、弧度 -> 角度:Cesium.Math.toDegrees(Math.PI)
2、角度 -> 弧度:Cesium.Math.toRadians(180)
二、获取地理坐标:
1、笛卡尔坐标 -> 地理坐标:Cesium.Cartographic.fromCartesian(cartesian3)
2、角度 -> 地理坐标:Cesium.Cartographic.fromDegrees(130,37,height)
3、弧度 -> 地理坐标:Cesium.Cartographic.fromDegrees(Math.PI,Math.PI/4,height)
4、创建地理坐标:new Cesium.Cartographic(Math.PI,Math.PI/4,height)
三、获取笛卡尔坐标:
1、地理坐标 -> 笛卡尔坐标:Cesium.Cartographic.toCartesian(cartoGraphic)
2、经纬度值 -> 笛卡尔坐标:Cesium.Cartesian3.fromDegrees(130,37,height)
3、经纬度值数组(不带高度) -> 笛卡尔坐标数组:Cesium.Cartesian3.fromDegreesArray([130,37,128,34])
4、经纬度值数组(带高度) -> 笛卡尔坐标数组:Cesium.Cartesian3.fromDegreesArrayHeights([130,37,100000,128,34,150000])
5、数值 -> 笛卡尔坐标:Cesium.Cartesian3.fromElements(x, y, z, result)
6、创建笛卡尔坐标:new Cesium.Cartesian3(x, y, z)
四、屏幕坐标转笛卡尔坐标:
var pick = mouseClick.position;
//相机到点击点的射线和地球表面的交点
var cartesian = viewer.scene.globe.pick(viewer.camera.getPickRay(pick), viewer.scene);
var ellipsoid = viewer.scene.globe.ellipsoid;
var cartographic = ellipsoid.cartesianToCartographic(cartesian);
var lat = Cesium.Math.toDegrees(cartographic.latitude);
var lon = Cesium.Math.toDegrees(cartographic.longitude);
var alt = cartographic.height;
console.log('经度:' + lon + '\n纬度:' + lat + '\n高度:' + alt);
//获取点击点的位置坐标
position = viewer.scene.pickPosition(pick );
cartographicNew=Cesium.Cartographic.fromCartesian(position);
|
|