首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >如何根据经纬度计算地面上某点在XYZ空间直角坐标系中的坐标

如何根据经纬度计算地面上某点在XYZ空间直角坐标系中的坐标

作者头像
zhaokang555
发布2023-10-17 09:57:33
发布2023-10-17 09:57:33
6890
举报

如何根据经纬度计算地面上某点在XYZ空间直角坐标系中的坐标

代码语言:javascript
复制
/**
     * @param r: number 到地心的距离
     * @param lon: number 经度
     * @param lat: number 纬度
     * @return {[number, number, number]}
     */
    getXYZByLonLat = (r, lon, lat) => {
        const {sin, cos, PI} = Math;
        const lonRadian = lon / 180 * PI;
        const latRadian = lat / 180 * PI;

        const y = r * sin(latRadian); // 在经线圈平面上, 计算y

        const rOnEquatorialPlane = r * cos(latRadian); // 在赤道面上, 计算r的投影距离
        const x = rOnEquatorialPlane * sin(lonRadian); // 在俯视图中, 计算x
        const z = rOnEquatorialPlane * cos(lonRadian); // 在俯视图中, 计算z

        /**
         x = R * cos(lat) * sin(lon)
         y = R * sin(lat)
         z = R * cos(lat) * cos(lon)
         */
        return [x, y, z];
    };
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-04-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何根据经纬度计算地面上某点在XYZ空间直角坐标系中的坐标
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档