new Cesium.Cartesian2(x, y)椭球中心为原点的空间直角坐标系中的一个点的坐标
new Cesium.Cartesian3(x, y, z)地理坐标系,坐标原点在椭球的质心。
经度:参考椭球面上某点的大地子午面与本初子午面间的两面角。东正西负。
纬度 :参考椭球面上某点的法线与赤道平面的夹角。北正南负。
Cesuim中没有具体的经纬度对象,要得到经纬度首先需要计算为���度,再进行转换。
弧度即角度对应弧长是半径的倍数
角度转弧度:π/180×角度
弧度变角度:180/π×弧度
new Cesium.Cartographic(longitude, latitude, height)const position_cartesian3 = Cesium.Cartesian3.fromDegrees(longitude, latitude, height, ellipsoid)
借助 ellipsoid 对象的方法
const ellipsoid = viewer.scene.globe.ellipsoid;
const cartographic = Cesium.Cartographic.fromDegrees(longitude, latitude, height, ellipsoid);
const position_cartesian3 = ellipsoid.cartographicToCartesian(cartographic);
const position_cartesian3 = Cesium.Cartesian3.fromRadians(longitude, latitude, height, ellipsoid)
const cartographic = Cesium.Cartographic.fromCartesian(cartesian)
const cartographic = Cesium.Cartographic.fromCartesian(cartesian)
const lat = Cesium.Math.toDegrees(cartographic.latitude);
const lng = Cesium.Math.toDegrees(cartographic.longitude);
const alt = cartographic.height;
借助 ellipsoid 对象的方法
const ellipsoid = viewer.scene.globe.ellipsoid;
const position_cartesian3 = new Cesium.cartesian3(x, y, z);
const cartographic = ellipsoid.cartesianToCartographic(position_cartesian3);
const lat = Cesium.Math.toDegrees(cartographic.latitude);
const lng = Cesium.Math.toDegrees(cartographic.longitude);
const alt = cartographic.height;
经纬度与弧度互转
// 将弧度转化为经纬度
Cesium.Math.toDegrees(radians)
// 将经纬度转化弧度
Cesium.Math.toRadians(degrees)
2.1 获取鼠标单击后在屏幕中的坐标
const hander = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
//绑定鼠标左点击事件
hander.setInputAction((event) => {
//获取鼠标点的 windowPosition: Cesium.Cartesian2
const windowPosition = event.position;
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
屏幕坐标转换为笛卡尔空间直角坐标
const ray = viewer.camera.getPickRay(windowPosition);
const position_cartesian3 = viewer.scene.globe.pick(ray, viewer.scene);
const position_cartesian3 = viewer.scene.camera.pickEllipsoid(windowPosition, scene.globe.ellipsoid);
笛卡尔空间直角坐标转换为屏幕坐标
// position_cartesian2: Cartesian2
const position_cartesian2 = Cesium.SceneTransforms.wgs84ToWindowCoordinates(viewer.scene, position_cartesian3);
new Cesium.Ellipsoid(x, y, z);
new Cesium.Globe(ellipsoid);
Methods
new Cesium.Cartographic(longitude, latitude, height);
new Cesium.Camera(scene);
Members
Methods
Primitive 由两个部分组成