Cesium 笛卡尔坐标系转经纬度高程

 2023-09-05 阅读 70 评论 0

摘要:代码如下 /*** @description 将笛卡尔坐标系转成经纬度高程* @param {Object} cartesianObj 笛卡尔坐标系对象 {x, y, z}* @returns 返回经纬度高程对象*/ cartesianTolngLatAlt = (cartesianObj) => {if (!Cesium || !window._cesium) {throw new Err

代码如下

/*** @description 将笛卡尔坐标系转成经纬度高程* @param {Object} cartesianObj 笛卡尔坐标系对象 {x, y, z}* @returns 返回经纬度高程对象*/
cartesianTolngLatAlt = (cartesianObj) => {if (!Cesium || !window._cesium) {throw new Error('非cesium地图')}if (!cartesianObj || Object.keys(cartesianObj).length !== 3) {throw new Error('请传入合法的cartesian对象 {x, y, z}')}const cartesian3 = new Cesium.Cartesian3(cartesianObj.x, cartesianObj.y, cartesianObj.z);const cartographic = window._cesium.scene.globe.ellipsoid.cartesianToCartographic(cartesian3);const lat = Cesium.Math.toDegrees(cartographic.latitude);const lng = Cesium.Math.toDegrees(cartographic.longitude);const alt = cartographic.height;return { lng, lat, alt }
}

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/689.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息