经纬度笛卡尔杂谈

这篇具有很好参考价值的文章主要介绍了经纬度笛卡尔杂谈。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

当然可以!将经纬度坐标转换为笛卡尔坐标系的公式如下:

x = ( R + h ) cos ⁡ ϕ cos ⁡ θ   y = ( R + h ) cos ⁡ ϕ sin ⁡ θ   z = ( R + h ) sin ⁡ ϕ \begin{aligned} x &= (R+h)\cos\phi\cos\theta \ y &= (R+h)\cos\phi\sin\theta \ z &= (R+h)\sin\phi \end{aligned} x=(R+h)cosϕcosθ y=(R+h)cosϕsinθ z=(R+h)sinϕ

其中, R R R是地球半径, h h h是海拔高度, ϕ \phi ϕ是纬度, θ \theta θ是经度。在这个公式中, x , y , z x, y, z x,y,z分别表示笛卡尔坐标系下的 x , y , z x, y, z x,y,z坐标。

下面是用MATLAB编写的转换函数,函数名为 geo2cart:

function [x, y, z] = geo2cart(lat, lon, alt)
% GEP2CART Convert latitude, longitude and altitude to Cartesian coordinates.
%
% [x, y, z] = GEO2CART(lat, lon, alt) converts the latitude, longitude and
% altitude coordinates into Cartesian coordinates (x, y, z).
%
% Inputs:
% -------
% lat - latitude in degrees, ranges from -90(degree) to 90(degree)
% lon - longitude in degrees, ranges from -180(degree) to 180(degree)
% alt - altitude in meters
%
% Outputs:
% --------
% x, y, z - Cartesian coordinates in meters
%
% Example:
% --------
% [x, y, z] = geo2cart(40, 116, 0);
% This function calculates the Cartesian coordinates for a location at
% latitude = 40 degrees, longitude = 116 degrees, and altitude = 0 meters.
%
% Reference:
% ----------
% [1] Li, X. (2015). GNSS Data Processing: Geodesy, Kinematics, and
% Positioning. John Wiley & Sons, Ltd.
%
% Author: Zhanpeng Yang
% Date: 2021/10/02
% Email: zhanpeng.yang@outlook.com

% Earth parameters
R = 6371000; % Earth radius in meters
f = 1/298.257223563; % Flattening factor

% Convert latitude and longitude to radians
lat = deg2rad(lat);
lon = deg2rad(lon);

% Calculate the earth’s radius at the geodetic latitude
N = R./sqrt(1 - f*(2 - f)*sin(lat).^2);

% Calculate the Cartesian coordinates
x = (N + alt).*cos(lat).*cos(lon);
y = (N + alt).*cos(lat).sin(lon);
z = (N
(1 - f^2) + alt).*sin(lat);
end
这个函数的输入为一个纬度、一个经度和一个高度,输出为笛卡尔坐标系下的三个坐标。在实现中,首先把度数转换成弧度,然后计算出经过这个点的子午面曲率半径 N N N。最后,使用公式计算 Cartesian 坐标。当地球是一个精确的椭球时,我们可以使用复杂的数学模型来准确定位 N N N,但在本实例中,我们将 N N N 近似为一个简单的公式。

这句代码是为了计算在经过给定的地球曲面上特定的纬度处(即等高纬度),该位置上的曲率半径 N N N。在该代码中, R R R 表示地球的平均半径(单位为米), f f f 表示扁率(a - b)/a,其中 a a a 是地球的赤道半径, b b b 是地球的极半径。

公式中的 N N N 可以使用以下公式计算:

N = R 1 − f ( 2 − f ) sin ⁡ 2 ϕ N = \frac{R}{\sqrt{1 - f(2-f) \sin^2\phi}} N=1f(2f)sin2ϕ R

其中, ϕ \phi ϕ 表示给定点的纬度,使用 deg2rad 函数将其从角度转换为弧度。

因此,那一句代码就是在使用上述公式计算该位置上的曲率半径 N N N文章来源地址https://www.toymoban.com/news/detail-429723.html

到了这里,关于经纬度笛卡尔杂谈的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Frenet坐标系及其与笛卡尔坐标的转换(2)——原理

    4.1.3 推导 s ˙ dot{s} s ˙ 由公式 (21) text{(21)} (21) 与公式 (28) text{(28)} (28) 可知: l ′ = ( 1 − κ r l ) ⋅ t a n ( Δ θ ) = v e s i n ( Δ θ ) s ˙ (29) l\\\' = (1-kappa_{r} l) cdot tan(Deltatheta) = frac {v_{e}sin(Deltatheta)}{dot{s}}tag{29} l ′ = ( 1 − κ r ​ l ) ⋅ t a n ( Δ θ ) = s ˙ v e ​ s i n ( Δ θ ) ​

    2024年02月03日
    浏览(69)
  • 大数据开发之Hive案例篇10-大表笛卡尔积优化

    需求描述: 表概述: 需要实现的需求 SQL代码: 运行日志: 从日志可以看到,数据倾斜了,redcue一直卡在99%不动,过一段时间就被断开了。 web页面日志: 从web页面可以看到,reduce被kill的原因是Container被ApplicationMaster给kill掉了 过一段时间整个Job都被kill掉了 因为reduce卡在了99%,所以

    2024年02月09日
    浏览(74)
  • 【Python】实战:生成多层嵌套笛卡尔积组合问卷 csv《感知觉与沟通评估表》

    目录 一、适用场景 二、业务需求  (1)原产品需求  (2)需求分析 

    2024年02月02日
    浏览(24)
  • 机器人在笛卡尔空间和关节空间的多项式轨迹规划以及matlab代码(三次、五次、七次)

    三次多项式轨迹规划就是s(t)相对于时间t的变化满足三次多项式变化,其表达式如下:                      如前文所述:t的取值范围是[0,T],s(t)的取值范围是[0,1], 又因为初始速度和末速度都为0,所以: S(t)的一阶导数表达式为: 从而可以计算出对应的系数: 将

    2024年01月17日
    浏览(28)
  • Mysql表关联简单介绍(inner join、left join、right join、full join不支持、笛卡尔积)

    A 是1、2、3 B是2、3、4 A、B的交集是A∩B = 2、3 A、B的并集是 AUB = 1、2、3、4 A、B的差集是 A-B = 1 B、A的差集是 B-A = 4 造数据 select A. ,B. from xin_stu_t_bak A inner join xin_teach_t_bak B on A.relation_id = B.id order by A.id; select distinct A. ,B. from xin_stu_t_bak A inner join xin_teach_t_bak B on A.relation_id = B.id

    2024年01月17日
    浏览(39)
  • 体验文心一言AI大模型生成天津师范大学、中国科学技术大学、中北大学、伊利诺伊大学厄巴纳-香槟分校和巴黎笛卡尔大学报告

    天津师范大学是天津市属重点大学,位于天津市西青区宾水西道393号,简称“天师大”。天津师范大学入选教育部“卓越教师培养计划”、国家“特色重点学科项目”、”国家建设高水平大学公派研究生项目“、首批“新工科研究与实践项目”、“国家级大学生创新创业训练

    2024年02月16日
    浏览(27)
  • ES 地图经纬度搜索

    ES中提供了一个数据类型 geo_point,这个类型就是用来存储经纬度的。 创建一个带geo_point类型的索引,并添加测试数据  

    2024年02月12日
    浏览(30)
  • 前端Vue腾讯地图SDK Api经纬度解析为地址信息Geocoding 可用于定位经纬度信息解析为地址

    前端Vue腾讯地图SDK Api经纬度解析为地址信息Geocoding 可用于定位经纬度信息解析为地址, 下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=13311 效果图如下: 使用方法 HTML代码实现部分

    2024年02月11日
    浏览(37)
  • 经纬度转换为UTM坐标

    UTM(通用横向墨卡托投影): 是一种以米为单位的坐标系统,用于地图和GPS导航。将地球划分为60个纵向的区域。每个区域宽6度,从赤道开始往南北两级方向划分。每个区域都有一个特定的字母。 将经纬度值转化为弧度值 根据经纬度计算所在的UTM区域 计算UTM带号,即 zone

    2024年02月10日
    浏览(41)
  • mysql根据经纬度计算距离

    要在MySQL中根据经纬度计算距离,你可以使用以下方法: 使用Haversine公式:Haversine公式是一种常用的方法,用于计算两个球面上点之间的距离。下面是一个示例查询,展示如何在MySQL中使用Haversine公式计算经纬度距离: 在上面的查询中, your_table 是包含经度和纬度信息的表。

    2024年02月14日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包