Cesium坐标系
<Cesium坐标系>2022年6月19日
本帖最后由 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()
4、经纬度值数组(带高度) -> 笛卡尔坐标数组:Cesium.Cartesian3.fromDegreesArrayHeights()
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);
本帖最后由 tzbm123456 于 2022-7-6 08:50 编辑
Cesium.Transforms.eastNorthUpToFixedFrame(origin, ellipsoid, result)
Computes a 4x4 transformation matrix from a reference frame with an east-north-up axes centered at the provided origin to the provided ellipsoid's fixed reference frame. The local axes are defined as:
The x axis points in the local east direction.
The y axis points in the local north direction.
The z axis points in the direction of the ellipsoid surface normal which passes through the position.
Name Type Default Description
origin Cartesian3 The center point of the local reference frame.
ellipsoid Ellipsoid Ellipsoid.WGS84 optionalThe ellipsoid whose fixed frame is used in the transformation.
result Matrix4 optionalThe object onto which to store the result.
Returns:
The modified result parameter or a new Matrix4 instance if none was provided.
Example:
// Get the transform from local east-north-up at cartographic (0.0, 0.0) to Earth's fixed frame.
const center = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
const transform = Cesium.Transforms.eastNorthUpToFixedFrame(center);
//坐标转换方式:
const p = new Cesium.Cartesian3(250.0, 0.0, 0.0);
const result = Cesium.Matrix4.multiplyByPoint(transform, p, new Cesium.Cartesian3());
//result为Cartesian3坐标
页:
[1]