经纬度差和米换算

本文详细介绍了如何根据地球的半径和不同纬度来计算经纬度对应的地面距离,包括同一经线圈和纬线圈上相差1°及1的距离估算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

地球半径:6371000M
地球周长:2 * 6371000M * π = 40030173
纬度38°地球周长:40030173 * cos38 = 31544206m
任意地球经度周长:40030173m

经度(东西方向)1米实际度:360°/31544206m = 1.141255544679108e-5 = 0.00001141°
纬度(南北方向)1米实际度:360°/40030173m = 8.993216192195822e-6 = 0.00000899°

地球表面上同一经线圈上相差1°两点间的距离约为πR/180 = 111194.926 644 558 737m 【小数部分每三位加了一空格】
地球表面上同一纬线圈上相差1°两点间的距离约为πR×cos(纬度)/180 = 111194.926644m×cos(纬度)

地球表面上同一经线圈上相差1"两点间的距离约为πR/180/3600 = 30.887 479 623 488m 【小数部分每三位加了一空格】
地球表面上同一纬线圈上相差1"两点间的距离约为πR×cos(纬度)/180/3600 = 30.887m×cos(纬度)

### 将高精度经纬度转换为东北方向的制坐标系 #### 转换过程概述 在地理信息系统(GIS)、导航等领域,坐标转换是一项基础且关键的任务。对于将高精度经纬度(LLA, Latitude Longitude Altitude)转换为以为单位的东北天(ENU, East North Up)坐标系的过程涉及多个步骤公式。 #### 坐标系简介 - **LLA坐标系**:由纬度、经度高度组成,在地图制作、导航地理信息系统中广泛应用[^3]。 - **ECEF坐标系**:即地心直角坐标系,原点位于地球质心,X轴指向本初子午线与赤道交点,Y轴垂直于XOZ平面并位于赤道上,Z轴沿地球自转轴正向。 - **ENU坐标系**:东-北-上坐标系是以观测者所在位置为中心建立的地方水平坐标系,其中东指向东边,北指的是北边,上指的是向上方向。 #### LLA到ENU的具体转换方法 1. 首先需将LLA坐标转换成ECEF坐标: \[ X = (N(h) + h)\cos{\phi}\cos{\lambda} \] \[ Y = (N(h) + h)\cos{\phi}\sin{\lambda} \] \[ Z = ((1-e^2)N(h)+h)\sin{\phi} \] 这里 \( N(h)=\frac{a}{\sqrt{1-e^{2}\sin ^{2}\varphi }} \),\( a=6378137m \), \( e^2≈0.00669438\) 是椭球体参数;\( \phi,\lambda,h \) 分别代表纬度、经度海拔高度[^1]。 2. 接下来利用参考点处已知的 ECEF 对应的 ENU 进行旋转矩阵计算得到新的 ENU 值: 设参考站点的地心坐标为 \( P_0=(X_0,Y_0,Z_0)^T \),其相应的本地水平坐标为 \( p_{enu}=(-s_\Lambda,-s_\Phi s_\Lambda,c_\Phi c_\Lambda )^T \),则任意一点P(X,Y,Z)相对于此参考站的ENU表示可按下列方式求得: \[ R=\begin{bmatrix} -sin(\lambda)& cos(\lambda) & 0\\ -cos(\lambda)*sin(\phi) & -sin(\phi)*sin(\lambda) & cos(\phi) \\ cos(\phi)*cos(\lambda) & sin(\lambda)*cos(\phi) & sin(\phi) \end{bmatrix} \] \[p_{enu}(P)=(R*(P-P_0))^T\] 上述过程中涉及到的角度均采用弧度作为单位[^2]。 ```matlab function enu = lla_to_enu(lla_ref,lla_target) % Convert lat lon alt to east north up coordinates. % Constants from WGS84 ellipsoid model a = 6378137; f = 1 / 298.257223563; b = a * (1- f^2; phi_deg = lla_ref(1); lambda_deg = lla_ref(2); h = lla_ref(3); phi_rad = deg2rad(phi_deg); lamda_rad = deg2rad(lambda_deg); slat = sin(phi_rad); clat = cos(phi_rad); slon = sin(lamda_rad); clon = cos(lamda_rad); N = a ./ sqrt(1-esq*slat.^2); xecef_ref = (N+h).*clat.*clon; yecef_ref = (N+h).*clat.*slon; zecef_ref = (((1-esq).*N)+h).*slat; [xecef_tar,yecef_tar,zecef_tar]=lla2ecef(lla_target,a,b,f); dX = xecef_tar-xecef_ref;dY = yecef_tar-yecef_ref;dZ = zecef_tar-zecef_ref; enu=[-(slon*dX)-(clon*slat*dY)+(clon*clat*dZ); +(clon*dX)-(slon*slat*dY)+(slon*clat*dZ); +(clat*dY)+(slat*dZ)]; end function [x_ecef y_ecef z_ecef] = lla2ecef(lla,a,b,f) % Converts latitude longitude altitude into Earth Centered Earth Fixed coordinate system. lat = deg2rad(lla(:,1));lon = deg2rad(lla(:,2)); alt = lla(:,3); wgs84_a = a;wgs84_b = b;f_wgs84=f; e_squared = 2*f_wgs84 - pow(f_wgs84,2); radius_of_curvature = wgs84_a./(sqrt(1-(e_squared*sin(lat).^2))); x_ecef = (radius_of_curvature+alt).*cosd(lat).*cosd(lon); y_ecef = (radius_of_curvature+alt).*cosd(lat).*sind(lon); z_ecef = ((((1-e_squared).*radius_of_curvature)+alt)).*sind(lat); end ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值