经纬度及其与坐标系的转换

参考文献:每日一词20190306——经纬度(longitude and latitude)_gis0911178的博客-CSDN博客_longitude和latitude

一、经纬度的概念(longitude and latitude)

海拔为0米的地球半径为6371km

经纬度经度纬度的合称,组成一个坐标系统,称为地理坐标系统,它是一种利用三度空间球面定义地球上空间球面坐标系统,能够标示地球上的任何一个位置。

1.1 经度

 经度是指通过某地的经线面本初子午面所成的二面角。在本初子午线以东的经度叫东经在本初子午线以西的叫西经。东经用“E”表示,西经用“W”表示。

1884年国际本初子午线大会格林尼治子午线正式定为经度的起点东经180°即西经180°约等同于国际换日线,国际换日线的两边,日期相差一日。

东经正数西经为负数

1.2 纬度

纬度是指过椭球面上某点作法线,该点法线赤道平面线面角,其数值在0至90度之间。位于赤道以北的点的纬度叫北纬,记为N;位于赤道以南的点的纬度称南纬,记为S。

北纬正数南纬负数

1.3 基本数量级

经纬度每差1度,距离大约差111km

经纬度每差1分,距离大约差1.85km

经纬度每差1秒,距离大约差0.031km

1.4 卫星三角测距怎么生成经纬度?

参考文献:

[1]张翠芳. GPS卫星定位算法设计与验证[D]. 电子科技大学, 2011.

[2]Bancroft, S. An Algebraic Solution of the GPS Equations[J]. IEEE Transactions on Aerospace & Electronic Systems, 1985, AES-21(1):56-59.

GPS卫星的位置由地面监控站测定后编成电文注入到卫星内,然后由卫星发布广播星历。对于用户而言,卫星的位置根据卫星广播的导航电文解算而得出。

步骤1:通过GPS卫星星历解算卫星在地心地固坐标系(WGS-84坐标系)中的位置;

步骤2:通过GPS卫星星历计算卫星速度;

步骤3:最小二乘法计算接收机在地心地固坐标系(WGS-84坐标系)中位置;

步骤4:计算接收机的速度;

步骤5:转换为经纬度。

二、常见地理坐标系

参考文献:CGJ02、BD09、西安80、北京54、CGCS2000常用坐标系详解_mrib的博客-CSDN博客_cgcs2000坐标系

2.1 WGS-84坐标系

WGS-84坐标系_EagleLY5894的博客-CSDN博客_wgs84坐标系

WGS-84坐标系(World Geodetic System一1984 Coordinate System)是美国国防部建立的一种地心地固坐标系,全球卫星定位系统GPS是基于WGS-84坐标系的。
WGS-84坐标系原点是地球的质心,空间直角坐标系的Z轴指向BIH(1984.0)定义的地极(CTP)方向,即国际协议原点CIO,它由IAU和IUGG共同推荐。X轴指向BIH定义的零度子午面和CTP赤道的交点,Y轴和Z、X轴构成右手坐标系

                                        
WGS-84建立的地球模型是一个标准椭球

                                                      

 其中:地球半长轴:a ≡ 6378137.0 m ;地球短半轴:b = 6356752 m 。

三、代码:经纬度和WGS-84坐标系互相转换(c++语言版)

在线经纬度转换工具_经纬度转度分秒格式_度分秒转经纬度格式 - 一起看地图

GPS经纬度转84坐标系_telnetipc的博客-CSDN博客_经纬度转换为wgs84坐标系


/**
* WGS84转地心坐标系
* 经纬度单位:度;高度单位:米
**/
public static double[] WGS84toECEF(double latitude, double longitude, double height) {
		double X;
		double Y;
		double Z;
		double a = 6378137.0;%单位m
		double b = 6356752.31424518;%单位m
		double E = (a * a - b * b) / (a * a);
		double COSLAT = Math.cos(latitude * Math.PI / 180);
		double SINLAT = Math.sin(latitude * Math.PI / 180);
		double COSLONG = Math.cos(longitude * Math.PI / 180);
		double SINLONG = Math.sin(longitude * Math.PI / 180);
		double N = a / (Math.sqrt(1 - E * SINLAT * SINLAT));
		double NH = N + height;
		X = NH * COSLAT * COSLONG;
		Y = NH * COSLAT * SINLONG;
		Z = (b * b * N / (a * a) + height) * SINLAT;
		return new double[] { X, Y, Z };
	}

   /**
   * 地心坐标系转WGS84
   */
	public static String ECEFtoWGS84(double x, double y, double z){
		double a, b, c, d;
		double Longitude;// 经度
		double Latitude;// 纬度
		double Altitude;// 海拔高度
		double p, q;
		double N;
		a = 6378137.0;
		b = 6356752.31424518;
		c = Math.sqrt(((a * a) - (b * b)) / (a * a));
		d = Math.sqrt(((a * a) - (b * b)) / (b * b));
		p = Math.sqrt((x * x) + (y * y));
		q = Math.atan2((z * a), (p * b));
		Longitude = Math.atan2(y, x);
		Latitude = Math.atan2((z + (d * d) * b * Math.pow(Math.sin(q), 3)),
				(p - (c * c) * a * Math.pow(Math.cos(q), 3)));
		N = a / Math.sqrt(1 - ((c * c) * Math.pow(Math.sin(Latitude), 2)));
		Altitude = (p / Math.cos(Latitude)) - N;
		Longitude = Longitude * 180.0 / Math.PI;
		Latitude = Latitude * 180.0 / Math.PI;
		return Longitude + "," + Latitude + "," + Altitude;
	}

四、代码:经纬度和WGS-84坐标系互相转换(Matlab语言版)

%% 经纬度转WGS84直角坐标系
% 东经正数,西经为负数
% 北纬为正数,南纬为负数
% 输入参数1:纬度;输入参数2:经度;输入参数3:高度
% 经纬度单位:度;高度单位:米
function [x,y,z]=LL2WGS84(latitude,longitude,height)
a = 6378137.0;%单位m
b = 6356752.31424518;%单位m
E = (a * a - b * b) / (a * a);
COSLAT = cos(latitude * pi / 180);
SINLAT = sin(latitude * pi / 180);
COSLONG = cos(longitude * pi / 180);
SINLONG = sin(longitude * pi / 180);
N = a / (sqrt(1 - E * SINLAT * SINLAT));
NH = N + height;
x = NH * COSLAT * COSLONG;
y = NH * COSLAT * SINLONG;
z = (b * b * N / (a * a) + height) * SINLAT;
end
%% WGS84直角坐标系转经纬度
% 东经正数,西经为负数
% 北纬为正数,南纬为负数
% 输入参数1:纬度;输入参数2:经度;输入参数3:高度
% 经纬度单位:度;高度单位:米
function [latitude,longitude,height]=WGS842LL(x,y,z)

a = 6378137.0;
b = 6356752.31424518;
c = sqrt(((a * a) - (b * b)) / (a * a));
d = sqrt(((a * a) - (b * b)) / (b * b));
p = sqrt((x * x) + (y * y));
q = atan((z * a)/ (p * b));
longitude = atan(y/x);
latitude = atan((z + (d * d) * b * sin(q)^3)/(p - (c * c) * a * cos(q)^3));
N = a / sqrt(1 - ((c * c) * sin(latitude)^2));
height = (p / cos(latitude)) - N;
longitude = longitude * 180.0 / pi;
latitude = latitude * 180.0 / pi;
end

  • 11
    点赞
  • 88
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: 经纬度和平面坐标系是两种不同的坐标系统,它们的转换涉及到地图投影和数学计算。 一般来说,经纬度是用来表示地球上某一点位置的坐标系统,经度表示东西方向上的位置,纬度表示南北方向上的位置。而平面坐标系则是用来表示地球上某一区域的平面坐标系统,常见的有UTM和高斯-克吕格投影等。 经纬度和平面坐标系之间的转换可以通过以下步骤进行: 1. 选择合适的地图投影系统,例如UTM或高斯-克吕格投影等。 2. 将经纬度坐标转换为对应的投影坐标。 3. 对于不同的投影坐标系,需要进行对应的投影参数计算和坐标变换。 4. 将投影坐标转换为对应的平面坐标系坐标。 需要注意的是,在进行经纬度和平面坐标系之间的转换时,需要考虑地球椭球体的形状,以及所采用的投影系统的特点,以确保转换的准确性。 ### 回答2: 经纬度和平面坐标系转换是将地球表面的经纬度坐标(经度和纬度)转换成平面上的直角坐标系坐标(x和y坐标)。这种转换通常用于地图投影、测绘和导航系统中。 在经纬度坐标系中,地球被划分为纬线和经线。纬线是从南北极延伸出的平行线,用来表示纬度。经线是在地球上从东到西的弧线,用来表示经度。经纬度用度(°)来表示,并且从赤道的纬度0°开始,如果是北纬则为正值,如果是南纬则为负值;从本初子午线(通常是格林尼治子午线)开始,向东为正值,向西为负值。 而平面坐标系则采用直角坐标系的形式,其中坐标轴通常是直角的。平面坐标系使用水平坐标(X轴)和垂直坐标(Y轴)来表示点的位置。这种坐标系与地球表面的形状和尺寸无关,适用于小范围的测量和地图绘制。 转换经纬度和平面坐标系的方法需要考虑地球的形状和尺寸,以及所采用的投影方法。常用的转换方法包括经纬度的直角投影、圆锥投影、柱面投影等。根据具体的需求和应用场景,选择不同的投影方法和参数可以实现更精确的坐标转换。 总结来说,经纬度和平面坐标系转换是将地球表面的经纬度坐标转换成平面上的直角坐标系坐标的过程。这种转换在地图、测绘和导航系统中广泛应用,需要考虑地球的形状、尺寸和采用的投影方法。 ### 回答3: 经纬度和平面坐标系转换地理学和测绘学常用的一项工作,主要是将地球上的经纬度坐标转换为平面坐标系坐标,或者将平面坐标系坐标转换经纬度坐标。这种转换涉及到了地球的形状、大地测量学和映射变换等知识。 地球是一个近似的椭球体,所以经度和纬度用来描述地球上的位置。经度指的是从地球中心点到地球表面上某一点所画线与某一参考标准的夹角,通常用东西方向的角度来表示;纬度指的是从地球中心点到地球表面上某一点所画线与赤道的夹角,通常用南北方向的角度来表示。 平面坐标系则是用笛卡尔坐标系表示地球表面上的位置,一般在局部地区使用。平面坐标系使用直角坐标系,通过X坐标和Y坐标来表示点的位置。常见的平面坐标系有高斯-克吕格投影、UTM投影等。 经纬度和平面坐标系之间的转换需要借助空间大地测量学中的大地基准面和坐标转换模型。大地基准面是一个用于建立地球表面位置的基准面,常见的有WGS84、CGCS2000等。而坐标转换模型则是将经纬度坐标转换为平面坐标系坐标或者将平面坐标系坐标转换经纬度坐标的数学模型,常见的有高斯转换和UTM转换等。 通过这些模型和方法,我们可以将地球上任意一点的经纬度坐标转换为平面坐标系坐标,方便进行地图制作、空间分析、导航定位等工作。同时,也可以将平面坐标系坐标转换经纬度坐标,便于进行地理信息系统、测量制图等工作。这种转换地理学和测绘学的研究和实际应用中具有重要的意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kissgoodbye2012

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值