zoukankan      html  css  js  c++  java
  • Cesium 各种坐标转换

    2、打印出当前经度、纬度、高度、摄像头参数

    const { longitude, latitude, height } = viewer.camera._positionCartographic
    console.log(`${Cesium.Math.toDegrees(longitude)}, ${Cesium.Math.toDegrees(latitude)}, ${Math.ceil(height)}`)
    console.log(`{ heading: ${viewer.camera.heading}, pitch: ${viewer.camera.pitch}, roll: ${viewer.camera.roll} }`)
    

    3、弧度经纬度互转

    Cesium 中没有具体的经纬度对象,要得到经纬度对象,需要先弧度,再进行转换。

    // 经纬度转弧度
    Cesium.Math.toRadians(degrees)
    
    // 弧度转经纬度
    Cesium.Math.toDegrees(radians)
    

    4、经纬度坐标转世界坐标

    var cartesian3 = Cesium.Cartesian3.fromDegrees(lng, lat, height)
    

    5、世界坐标转经纬度坐标

    // 第一步: 笛卡尔空间直角坐标系转为地理坐标(弧度制)
    var cartographic = Cesium.Cartographic.fromCartesian(cartesian3)
    
    // 第二步
    var lat = Cesium.Math.toDegrees(cartographic.latitude)
    var lng = Cesium.Math.toDegrees(cartographic.longitude)
    var height = cartographic.height
    

    6、屏幕坐标和世界坐标转换

    // 二维屏幕坐标转为三维笛卡尔空间直角坐标(世界坐标)
    var cartesian3 = scene.globe.pick(
        viewer.camera.getPickRay(windowPosition),
        scene,
    )
    
    // 三维笛卡尔空间直角坐标转为二维屏幕坐标,结果是 Cartesian2 对象,取出XY即为屏幕坐标。
    windowPosition = Cesium.SceneTransforms.wgs84ToWindowCoordinates(screen, cartesian3)
  • 相关阅读:
    颜色透明度16进制对照表
    爬取代理IP
    Python中匹配IP的正则表达式
    IP地址正则表达式的写法
    每日一练 11.23
    每日一练 11.22
    每日一练
    pycharm使用教程
    周总结博客16
    周总结博客15
  • 原文地址:https://www.cnblogs.com/CyLee/p/15026002.html
Copyright © 2011-2022 走看看