目录
1.WGS-84坐标实例创建
(1)通过弧度创建实例:new Cesium.Cartographic(lng, lat, height) //lng, lat为弧度,height为高度(m)
(2)通过弧度创建实例:Cesium.Cartographic.fromRadians(lng, lat, height) //lng, lat为弧度,height为高度(m)
(3)通过角度创建实例:Cesium.Cartographic.fromDegrees(lng, lat, height) //lng, lat为角度,height高度(m)
2.世界坐标系(笛卡尔)实例创建
(1)通过笛卡尔空间直角坐标系创建实例:new Cesium.Cartesian3(x, y, z)
(2)通过弧度创建实例:Cesium.Cartesian3.fromRadians(lng, lat, height) //lng, lat为弧度,height为高度(m)
(3)通过角度创建实例:Cesium.Cartesian3.fromDegrees(lng, lat, height) //lng, lat为角度,height为高度(m)
3.WGS-84坐标实例和世界坐标系实例相互转换
(1)世界坐标转WGS-84坐标:Cesium.Cartographic.fromCartesian(cartesian3);
(2)WGS-84坐标转世界坐标:Cesium.Cartographic.toCartesian(cartographic);
4.通过屏幕坐标获取地表坐标和模型坐标
(1) 世界坐标转屏幕坐标:Cesium.SceneTransforms.wgs84ToWindowCoordinates(viewer.scene, cartesian3);
(2)通过屏幕坐标获取地表坐标,模型坐标
viewer.screenSpaceEventHandler.setInputAction(function (event) {
// 获取屏幕坐标;Cartesian2平面坐标格式
const windowPosition = event.position;
const ray = viewer.camera.getPickRay(windowPosition); //相交的射线
// 获取世界坐标系地表坐标,考虑地形,不包括模型,倾斜摄影模型表面;
const cartesian = viewer.scene.globe.pick(ray, viewer.scene);
// 获取倾斜摄影模型或其他三维模型点击位置的世界坐标系场景坐标
const cartesian = viewer.scene.pickPosition(windowPosition);
// 获取世界坐标系椭球面坐标,不考虑地形,模型,倾斜摄影模型表面等;
const cartesian = viewer.scene.camera.pickEllipsoid(windowPosition);
})