tzbm123456 发表于 2022-6-19 20:22:16

Cesium坐标系

<Cesium坐标系>
2022年6月19日

tzbm123456 发表于 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()
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 07:42:44

本帖最后由 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坐标


tzbm123456 发表于 2022-10-14 17:10:54


页: [1]
查看完整版本: Cesium坐标系