1.屏幕坐标(像素值)
2.笛卡尔平面坐标 new Cesium.Cartesian2(x,y)
3.笛卡尔空间直角坐标 new Cesium.Cartesian3(x,y,z)
4.地理坐标(默认为弧度值)new Cesium.Cartographic(longitude,latitude,height)
坐标变换
1.获取鼠标单击后在屏幕中的坐标
var hander=new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
hander.setInputAction(function(event){ //绑定鼠标左点击事件
var windowPosition=event.position; //鼠标点的windowPosition
},Cesium.ScreenSpaceEventType.LEFT_CLICK);
2.屏幕坐标转换为笛卡尔空间直角坐标
//三维模式下
var ray=viewer.camera.getPickRay(windowPosition);
var cartesian=viewer.scene.globe.pick(ray,viewer.scene);
//二维模式下
var cartesian=scene.camera.pickEllipsoid(position,scene.globe.ellipsoid);
3.笛卡尔空间直角坐标转换为屏幕坐标
var pick=Cesium.SceneTransforms.wgs84ToWindowCoordinates(viewer.scene,cartesian);
4.笛卡尔空间直角坐标转换为地理坐标(弧度制)
var cartographic=Cesium.Cartographic.fromCartesian(cartesian)
5.地理坐标(弧度制)转换为笛卡尔空间直角坐标
var position =Cesium.Cartesian3.fromRadians(lng,lat,height)
6.笛卡尔空间直角坐标转化为 地理坐标(经纬度)
var cartographic=Cesium.Cartographic.fromCartesian(cartesian);
var lat=Cesium.Math.toDegrees(cartographic.latitude);
var lng =Cesium.Math.toDegrees(cartographic.longitude);
var height=cartographic.height;
(经纬度度数与弧度互转)
Cesium.Math.toRadians(degrees);
Cesium.Math.toDegrees(radians);
7.地理坐标(经纬度)转换为 笛卡尔空间直角坐标
var position =Cesium.Cartesian3.fromDegrees(long,lat,height);
网友评论