WGS84坐标、WGS72坐标、54坐标、80坐标的区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WGS84坐标、WGS72坐标、54坐标、80坐标的区别相关的知识,希望对你有一定的参考价值。
区别:
1、WGS-84坐标系和BJ-54坐标系:两者的参考椭球不同,定向也不同。因此两个坐标系上的同一地物的坐标也有差异,一般会有200-300m的差距
2、西安80坐标系与北京54坐标系其实是一种椭球参数的转换作为这种转换在同一个椭球里的转换都是严密的,而在不同的椭球之间的转换是不严密,因此不存在一套转换参数可以全国通用的,在每个地方会不一样,因为它们是两个不同的椭球基准。
3、WGS-84坐标系是目前GPS所采用的坐标系统,是一个地心地固坐标系统。WGS-84坐标系统由美国国防部制图局建立,于1987年取代了当时GPS所采用的精度较低的WGS-72坐标系统而成为GPS的所使用的坐标系统。采用椭球参数为:a= 6378137m,f =1/298.257223563。
4、WGS-72坐标系是美国国防部使用WGS-84之坐标系之前采用的坐标系统,也是一种地心地固坐标系统。采用的基准面是Broadcast Ephemeris (NWL-100),采用椭球参数为:a = 6378135.0m f= 1/298.26。
扩展资料
WGS-84(World Geodetic System,1984年)是美国国防部研制确定的大地坐标系,是一种国际上采用的地心坐标系。
其坐标系的几何定义是:原点在地球质心,z轴指向 BIH 1984.0定义的协议地球极(CTP)方向,X轴指向 BIH 1984.0 的零子午面和 CTP赤道的交点。Y轴与 Z、X轴构成右手坐标系。
WGs-84椭球及有关常数:
对应于 WGS-8大地坐标系有一个WGS-84椭球,其常数采用 IUGG第 17届大会大地测量常数的推荐值。下面给出WGS-84椭球两个最常用的几何常数:
长半轴: 6378137± 2(m)
扁率: 1:298.257223563
我们通常称谓的北京54坐标系、西安80坐标系实际上指的是我国的两个大地基准面。
我国参照前苏联从1953年起采用克拉索夫斯基(Krassovsky)椭球体建立了我国的北京54坐标系,1978年采用国际大地测量协会推荐的1975地球椭球体建立了我国新的大地坐标系--西安80坐标系。
目前大地测量基本上仍以北京54坐标系作为参照,北京54与西安80坐标之间的转换可查阅国家测绘局公布的对照表。 WGS1984基准面采用WGS84椭球体,它是一地心坐标系,即以地心作为椭球体中心,目前GPS测量数据多以WGS1984为基准。
上述3个椭球体参数如下:
椭球体与基准面之间的关系是一对多的关系,也就是基准面是在椭球体基础上建立的,但椭球体不能代表基准面,同样的椭球体能定义不同的基准面,如前苏联的Pulkovo 1942、非洲索马里的Afgooye基准面都采用了Krassovsky椭球体,但它们的基准面显然是不同的。
地图投影是将地图从球面转换到平面的数学变换,如果有人说:该点北京54坐标值为X=4231898,Y=21655933,实际上指的是北京54基准面下的投影坐标,也就是北京54基准面下的经纬度坐标在直角平面坐标上的投影结果。
WGS-84坐标系即WGS-84(World Geodetic System,1984年)是美国国防部研制确定的大地坐标系,其坐标系的几何定义是:
原点在地球质心,z轴指向 BIH 1984.0定义的协议地球极(CTP)方向,X轴指向 BIH 1984.0 的零子午面和 CTP赤道的交点。Y轴与 Z、X轴构成右手坐标系
WGS-84大地坐标系
WGS-84是修正NSWC9Z-2参考系的原点和尺度变化,并旋转其参考子午面与BIH定义的零度子午面一致而得到的一个新参考系,WGS-84坐标系的原点在地球质心,Z轴指向BIH1984.0定义的协定地球极(CTP)方向。
X轴指向BIH1984.0的零度子午面和CTP赤道的交点,Y轴和Z、X轴构成右手坐标系。它是一个地固坐标系。
WGS84的基础是美国海军导航定位系统(NNSS)的NSWC9Z一2的参考坐标系。将此坐标系的原点、比例尺因子加以修正,即将NSWC92 -2的原点沿Z轴降低4.5m。
将其尺度因子乘上-0.6×10 q,并将NSWC92 -2的零子午线向西旋转0.181 4弧秒以使其与BIH定义的1984年零子午线一致。
参考资料来源:百度百科_WGS-84大地坐标系
参考技术A WGS-84(World Geodetic System,1984年)是美国国防部研制确定的大地坐标系,是一种国际上采用的地心坐标系。其坐标系的几何定义是:原点在地球质心,z轴指向 BIH 1984.0定义的协议地球极(CTP)方向,X轴指向 BIH 1984.0 的零子午面和 CTP赤道的交点。Y轴与 Z、X轴构成右手坐标系(如图所示)。WGs-84椭球及有关常数:
对应于 WGS-8大地坐标系有一个WGS-84椭球,其常数采用 IUGG第 17届大会大地测量常数的推荐值。下面给出WGS-84椭球两个最常用的几何常数:
长半轴: 6378137± 2(m)
扁率: 1:298.257223563
我们通常称谓的北京54坐标系、西安80坐标系实际上指的是我国的两个大地基准面。我国参照前苏联从1953年起采用克拉索夫斯基(Krassovsky)椭球体建立了我国的北京54坐标系,1978年采用国际大地测量协会推荐的1975地球椭球体建立了我国新的大地坐标系--西安80坐标系,目前大地测量基本上仍以北京54坐标系作为参照,北京54与西安80坐标之间的转换可查阅国家测绘局公布的对照表。 WGS1984基准面采用WGS84椭球体,它是一地心坐标系,即以地心作为椭球体中心,目前GPS测量数据多以WGS1984为基准。
上述3个椭球体参数如下:
椭球体与基准面之间的关系是一对多的关系,也就是基准面是在椭球体基础上建立的,但椭球体不能代表基准面,同样的椭球体能定义不同的基准面,如前苏联的Pulkovo 1942、非洲索马里的Afgooye基准面都采用了Krassovsky椭球体,但它们的基准面显然是不同的。
地图投影是将地图从球面转换到平面的数学变换,如果有人说:该点北京54坐标值为X=4231898,Y=21655933,实际上指的是北京54基准面下的投影坐标,也就是北京54基准面下的经纬度坐标在直角平面坐标上的投影结果。
WGS-84坐标系即WGS-84(World Geodetic System,1984年)是美国国防部研制确定的大地坐标系,其坐标系的几何定义是:原点在地球质心,z轴指向 BIH 1984.0定义的协议地球极(CTP)方向,X轴指向 BIH 1984.0 的零子午面和 CTP赤道的交点。Y轴与 Z、X轴构成右手坐标系本回答被提问者和网友采纳
GPS定位的偏移校正(WGS84与火星坐标互转)
原文:GPS定位的偏移校正(WGS84与火星坐标互转)
地图坐标系目前包括:
地球坐标 (WGS84)
WGS84:World Geodetic System 1984,是为GPS全球定位系统使用而建立的坐标系统。
- 国际标准,从 GPS 设备中取出的数据的坐标系
- 国际地图提供商使用的坐标系
火星坐标 (GCJ-02)也叫国测局坐标系
GCJ-02是由中国国家测绘局(民间说的火星坐标系)制订的地理信息系统的坐标系统。
它是一种对经纬度数据的加密算法,即加入随机的偏差。
国内出版的各种地图系统(包括电子形式),必须至少采用GCJ-02对地理位置进行首次加密。
- 中国标准,从国行移动设备中定位获取的坐标数据使用这个坐标系
- 国家规定: 国内出版的各种地图系统(包括电子形式),必须至少采用GCJ-02对地理位置进行首次加密。
public class Wgs2MarsService { private readonly static double[] Lx = new double[297000]; private readonly static double[] Ly = new double[297000]; static Wgs2MarsService() { string str = string.Empty; List<string> points = new List<string>(); using (StreamReader sr = new StreamReader(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "GPS.CoordinatesTransformation.txt"))) { str = sr.ReadLine(); while (!string.IsNullOrEmpty(str)) { points.Add(str); str = sr.ReadLine(); } } int num = 0; foreach (string s in points) { if (Lx[num] == 0.0) { Lx[num] = (double)int.Parse(s) / 100000.0; } else { Ly[num] = (double)int.Parse(s) / 100000.0; num++; } } } private int ID(int i, int j) { return i + 660 * j; } public bool Wgs2Mars(double latwgs, double lngwgs, out double latmars, out double lngmars) { double num = lngwgs; double num2 = latwgs; for (long num3 = 0L; num3 < 10; num3++) { if (num < 72.0 || num > 137.9 || num2 < 10.0 || num2 > 54.9) { latmars = latwgs; lngmars = lngwgs; return false; } int num4 = (int)Math.Floor((num - 72.0) * 10.0); int num5 = (int)Math.Floor((num2 - 10.0) * 10.0); double num6 = Lx[ID(num4, num5)]; double num7 = Ly[ID(num4, num5)]; double num8 = Lx[ID(num4 + 1, num5)]; double num9 = Ly[ID(num4 + 1, num5)]; double num10 = Lx[ID(num4 + 1, num5 + 1)]; double num11 = Ly[ID(num4 + 1, num5 + 1)]; double num12 = Lx[ID(num4, num5 + 1)]; double num13 = Ly[ID(num4, num5 + 1)]; double num14 = (num - 72.0 - 0.1 * (double)num4) * 10.0; double num15 = (num2 - 10.0 - 0.1 * (double)num5) * 10.0; double num16 = (1.0 - num14) * (1.0 - num15) * num6 + num14 * (1.0 - num15) * num8 + num14 * num15 * num10 + (1.0 - num14) * num15 * num12 - num; double num17 = (1.0 - num14) * (1.0 - num15) * num7 + num14 * (1.0 - num15) * num9 + num14 * num15 * num11 + (1.0 - num14) * num15 * num13 - num2; num = (num + lngwgs + num16) / 2.0; num2 = (num2 + latwgs + num17) / 2.0; } lngmars = Math.Round(num, 6); latmars = Math.Round(num2, 6); return true; } public bool Mars2Wgs(double latmars, double lngmars, out double latwgs, out double lngwgs) { double num = lngmars; double num2 = latmars; for (long num3 = 0L; num3 < 10; num3++) { if (num < 72.0 || num > 137.9 || num2 < 10.0 || num2 > 54.9) { latwgs = latmars; lngwgs = lngmars; return false; } int num4 = (int)Math.Floor((num - 72.0) * 10.0); int num5 = (int)Math.Floor((num2 - 10.0) * 10.0); double num6 = Lx[ID(num4, num5)]; double num7 = Ly[ID(num4, num5)]; double num8 = Lx[ID(num4 + 1, num5)]; double num9 = Ly[ID(num4 + 1, num5)]; double num10 = Lx[ID(num4 + 1, num5 + 1)]; double num11 = Ly[ID(num4 + 1, num5 + 1)]; double num12 = Lx[ID(num4, num5 + 1)]; double num13 = Ly[ID(num4, num5 + 1)]; double num14 = (num - 72.0 - 0.1 * (double)num4) * 10.0; double num15 = (num2 - 10.0 - 0.1 * (double)num5) * 10.0; double num16 = (1.0 - num14) * (1.0 - num15) * num6 + num14 * (1.0 - num15) * num8 + num14 * num15 * num10 + (1.0 - num14) * num15 * num12 - num; double num17 = (1.0 - num14) * (1.0 - num15) * num7 + num14 * (1.0 - num15) * num9 + num14 * num15 * num11 + (1.0 - num14) * num15 * num13 - num2; num = (num + lngmars - num16) / 2.0; num2 = (num2 + latmars - num17) / 2.0; } lngwgs = Math.Round(num, 6); latwgs = Math.Round(num2, 6); return true; } }
参考文档:https://github.com/shenqiliang/WGS2Mars
GPS.CoordinatesTransformation下载地址:GPS.CoordinatesTransformation.txt
以上是关于WGS84坐标、WGS72坐标、54坐标、80坐标的区别的主要内容,如果未能解决你的问题,请参考以下文章