cesium笔记

1、cesium旋转矩阵 https://blog.csdn.net/u011575168/article/details/82914686

2、cesium坐标转换:

    ①笛卡尔→弧度→经纬度

    var ellipsoid=viewer.scene.globe.ellipsoid;
    var cartesian3=new Cesium.Cartesian3(x,y,z);
    var cartographic=ellipsoid.cartesianToCartographic(cartesian3);
    var lat=Cesium.Math.toDegrees(cartographic.latitude);
    var lng=Cesium.Math.toDegrees(cartographic.longitude);
    var alt=cartographic.height;

    ②经纬度→笛卡尔

    var cartesian3=Cesium.Cartesian3.fromDegrees(lon,lat.elev)

    ③百分度→弧度

    var lon_radians=Cesium.Math.toRadians(lon)

3、cesium通视分析思路 https://blog.csdn.net/cr196/article/details/77072814  

4、cesium禁止相机进入地下(未测试)  https://blog.csdn.net/thor027/article/details/82455649

viewer.clock.onTick.addEventListener(function () {        
        if(viewer.camera.pitch > 0){
            viewer.scene.screenSpaceCameraController.enableTilt = false;
        }
    }); 
    
    var mousePosition,startMousePosition;
    var handler = new Cesium.ScreenSpaceEventHandler(viewer.canvas);
    handler.setInputAction(function(movement) { 
        mousePosition=startMousePosition= Cesium.Cartesian3.clone(movement.position);
        handler.setInputAction(function(movement) {
            mousePosition = movement.endPosition;
            var y = mousePosition.y - startMousePosition.y;
            if(y>0){
                viewer.scene.screenSpaceCameraController.enableTilt = true;
            }
        }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
    }, Cesium.ScreenSpaceEventType.MIDDLE_DOWN);

5、cesium默认鼠标操作事件 https://blog.csdn.net/caozl1132/article/details/88849101主要时利用了这个类Cesium.ScreenSpaceCameraController(scene),来修改鼠标操作方式;

例如:

//设置操作习惯,更换中键和右键

viewer.scene.screenSpaceCameraController.tiltEventTypes = [

    Cesium.CameraEventType.RIGHT_DRAG, Cesium.CameraEventType.PINCH,

 { eventType: Cesium.CameraEventType.LEFT_DRAG, modifier: Cesium.KeyboardEventModifier.CTRL },

 { eventType: Cesium.CameraEventType.RIGHT_DRAG, modifier: Cesium.KeyboardEventModifier.CTRL }

];

viewer.scene.screenSpaceCameraController.zoomEventTypes = [Cesium.CameraEventType.MIDDLE_DRAG, Cesium.CameraEventType.WHEEL, Cesium.CameraEventType.PINCH];

  cesium操作事件:Cesium.ScreenSpaceEventType

6、GIS常用算法  https://blog.csdn.net/cfy_qiangkeming/article/details/83643482

7、解决调用camera.lookAt方法后鼠标默认动作改变问题 https://blog.csdn.net/qq_39782968/article/details/90289705

_this.viewer.scene.camera.lookAtTransform(Cesium.Matrix4.IDENTITY);

8、new Cesium.NearFarScalar() 的用法   https://www.cnblogs.com/mol1995/p/10860236.html

你可能感兴趣的:(cesium笔记)