地球坐标系与投影方式的理解(关于北京54,西安80,WGS84;高斯,兰勃特,墨卡托投影)
一、地球模型
地球是一个近似椭球体,测绘时用椭球模型逼近,这个模型叫做参考椭球,如下图:
赤道是一个半径为a的近似圆,任一圈经线是一个半径为b的近似圆。a称为椭球的长轴半径,b称为椭球的短轴半径。
a≈6378.137千米,b≈6356.752千米。(实际上,a也不是恒定的,最长处和最短处相差72米,b的最长处和最短处相差42米,算很小了)
地球参考椭球基本参数:
长轴:a
短轴:b
扁率:α=(a-b) / a
第一偏心率:e=√(a2-b2) / a
第二偏心率:e'=√(a2-b2) / b
这几个参数定了,参考椭球的数学模型就定了。
什么是大地坐标系?
大地坐标系是大地测量中以参考椭球面为基准面建立起来的坐标系。地面点的位置用大地经度、大地纬度和大地高度表示:(L, B, H)。
空间直角坐标系是以参考椭球中心为原点,以原点到0度经线与赤道交点的射线为x轴,原点到90度经线与赤道交点的射线为y轴,以地球旋转轴向北为z轴:(x, y, z)
共同点:显然,这两种坐标系都必须基于一个参考椭球。
不同点:大地坐标系以面为基准,所以还需要确定一个标准海平面。而空间直角坐标系则以一个点为基准,所以还需要确定一个中心点。
只要确定了椭球基本参数,则大地坐标系和空间直角坐标系就相对确定了,只是两种不同的表达而矣,这两个坐标系的点是一一对应的。
二、北京54,西安80,WGS84
网上的解释大都互相复制,语焉不详,隔靴搔痒,说不清楚本质区别。为什么在同一点三者算出来的经纬度不同?难道只是不认同对方的测量精度吗?为什么WGS84选地球质心作原点,而西安80选地表上的一个点作原点?中国选的大地原点有什么作用?为什么选在泾阳县永乐镇?既然作为原点,为什么经纬度不是0?下面是我个人的理解。
首先,三者采用了不同的参考椭球建立模型,即长短轴扁率这组参数是不同的。
北京54: 长轴6378245m,短轴6356863,扁率1/298.2997381
西安80: 长轴6378140m,短轴6356755,扁率1/298.25722101
WGS84:长轴6378137.000m,短轴6356752.314,扁率1/298.257223563,第一偏心率0.081819790992,第二偏心率0.082095040121
这些参数不同,决定了椭球模型的几何中心是不同的。那么为什么这三种坐标系的参数有这么大差别呢?除了测量精度不同之外,还有一个原因,就是侧重点不一样。
WGS84是面向全球的,所以它尽量逼近整个地球表面,优点是范围大,缺点是局部不够精确。
北京54用的是前苏联的参数,它是面向苏联的,所以它在前苏联区域这个曲面尽量逼近,而其它国家地区偏多少它不管。它以苏联的普尔科沃为中心,离那越远,误差就越大。
西安80是面向中国的,所以它在中国区域这个曲面尽量逼近,而其它国家地区偏多少它不管。而且这个逼近是以西安附近的大地原点为中心的,也就是说,在西安大地原点处,模型和真实地表参考海平面重合,误差为0,而离大地原点越远的地方,误差越大。所谓的大地原点就是这么来的,它是人为去定的,而不是必须在那里,它要尽量放在中国的中间,使得总的误差尽量小而分布均匀。然后,我国在自已境内进行的建筑,测绘,勘探什么的所绘制的图,都以这个大地原点为基准,去建立各种用途的地表坐标系,就能统一起来了。
所以在中国区域,WGS84模型是没有西安80模型那么准确。而用西安80模型来算美国的点,则更不准确。现在更新为2000国家大地坐标系,参数比西安80更精确了,而道理是一样的。
都说WGS84是质心坐标系,北京54,西安80是参心坐标系,何谓质心?何谓参心?
质心好理解,就是地球体的质量中心,WGS84坐标系面向全球定位,所以它所建立的模型是最中庸的,没有偏向任何一个地区,椭球体模型的几何中心与地球质心重合时,模型就会最接近整个地球。
而北京54和西安80侧重于局部的精确性,而舍弃整体的精确性,当椭球模型(西安80)在中国区域最精确时,它的几何中心肯定不是地球质心,而在别的地方。所以这个几何中心称之为参考中心,简称参心。
地球上一个点经纬度,是基于参考椭球来算的,所以,同一个地方,用北京54,西安80,WGS84算出来的经纬度是三个不一样的值。由于GPS用的是WGS84,所以我们手机看到的是WGS84坐标系的经纬度。
三、地图在平面上的投影
我们的地图,总得画在纸上,在显示器上吧,不然到处拎着地球仪?地球上的点是用经纬度表示的,纬度越高的地方,1度的经度的距离就越短。那么,问题来了,地球表面是曲面,而且经纬度与长度距离并不是简单的比例关系,怎样画到平面上?答案是,投影算法。好,问题又来了,投影算法哪家强?
1.高斯-克吕格投影
假设一个椭圆柱面与地球椭球体面横切于某一条经线上,按照等角条件将中央经线东、西各3°或1.5°经线范围内的经纬线投影到椭圆柱面上,然后将椭圆柱面展开成平面而成的。




地球坐标系与投影方式的理解(关于北京54,西安80,WGS84;高斯,兰勃特,墨卡托投影)的更多相关文章
- 北京54全国80及WGS84坐标系的相互转换
这三个坐标系统是当前国内较为常用的,它们均采用不同的椭球基准.其中北京54坐标系,属三心坐标系,大地原点在苏联的普而科沃,长轴6378245m,短轴6356863,扁率1/298.3:西安80坐标系, ...
- ArcGIS中的北京54和西安80投影坐标系详解
ArcGIS中的北京54和西安80投影坐标系详解 1.首先理解地理坐标系(Geographic coordinate system),Geographic coordinate system直译为地理 ...
- GIS 基础知识简介
前言 前一段时间,在公司进行了分析 GIS 基础信息的介绍.之所以会有这个介绍以及为什么是我?这个个中缘由说下. 公司不是一个GIS方面的公司,但是由于业务的需要,经常需要用到地图(要和地图打交道), ...
- GIS坐标系测绘原理:大地水准面/基准面/参考椭球体/EPSG/SRI/WKT
预热文章系列:<GIS历史概述与WebGis应用开发技术浅解>.<GIS坐标系:WGS84,GCJ02,BD09,火星坐标,大地坐标等解析说与转换>.<OGC标准WMTS ...
- 投影方式- Unity3D游戏开发培训
投影方式- Unity3D游戏开发培训 作者:Jesai 2018-02-12 20:33:13 摘 要 透视投影是3D渲染的基本概念,也是3D程序设计的基础.掌握透视投影的原理对于深入理解其他 ...
- AE常用代码(标注要素、AE中画带箭头的线、如何获得投影坐标、参考坐标、投影方式、FeatureCount注意事项)
手上的电脑已经用了将近三年了,想入手一台Surface Pro,所以计划着把电脑上的资料整理下,部分资料打算发到博客上来,资料有同事.也有自己的.也有来自网络的,来源途径太多,也没法详细注明,请见谅! ...
- LoadRunner中,参数化时Unique取值方式的理解
LoadRunner中,参数化时Unique取值方式的理解 2012年10月15日 18:10:36 瑞秋 阅读数:10028 在LoadRunner中进行参数化时,Parameter的取值设置有 ...
- [转]地理投影,常用坐标系详解、WGS84、WGS84 Web墨卡托、WGS84 UTM、北京54坐标系、西安80坐标系、CGCS2000坐标系
转自:http://www.rivermap.cn/docs/show-1829.html 常用坐标系详解 (一)WGS84坐标系 WGS-84坐标系(World Geodetic System一19 ...
- CGJ02、BD09、西安80、北京54、CGCS2000常用坐标系详解
一.万能地图下载器中的常用坐标系 水经注万能地图下载器中的常用的坐标系主要包括WGS84经纬度投影.WGS84 Web 墨卡托投影.WGS84 UTM 投影.北京54高斯投影.西安80高斯投影.CGC ...
随机推荐
- JAVA 处理程序异常,(try、catch、finally),(thorws)
一.try语句: try{//这里写可能出现异常的程序} catch(Exception e){//这里写如果出现异常怎么处理的程序} 二.throws语句 语法:函数方法() throws Exc ...
- jQuery图片延迟加载插件jQuery.lazyload
插件描述:jQuery图片延迟加载插件jQuery.lazyload,使用延迟加载在可提高网页下载速度.在某些情况下,它也能帮助减轻服务器负载. 使用方法 引用jquery和jquery.lazy ...
- Java多线程之简单的线程同步实例
数据类: package Thread.MyCommon; public class Data { public int num = 0; public synchronized int getEve ...
- Undefined symbols for architecture i386:"_OBJC_CLASS_$_xx", referenced from: 解决方法
多个人共同操作同一个项目或拷贝项目时,经常会出现类似这样的问题: Undefined symbols for architecture i386: "_OBJC_CLASS_$_xx文件名& ...
- Perl模块的安装方法
1. 下载离线安装包 *.tar.gz的形式解包后,#perl Makefile.PL#make#make install 2. 在联网的情况下,通过CPAN安装# perl -MCPAN -e sh ...
- sikuli
1.sikuli和selenium集成问题,用java封装一个方法去操作web页面上的一些无法定位的控件 http://bbs.csdn.net/topics/390720479/ 2.关于Siku ...
- 动态添加js文件.
方法一: $.getScript(url,callback); 这个方法是对$.ajax({ })的封装.默认是异步的而且是带有缓存的. 缓存对于用户来说,是个好东西,但是对于开发者来说可就是日了狗的 ...
- [SQL]不知道1
表结构,companyid是公司名,productid是产品号,说明每个公司生产多少种产品. companyid productid A A B B B C D D D 要求:取出所有生产的产品包含公 ...
- 前端之JavaScript
JavaScript JavaScript 是一种轻量级的编程语言:是可插入 HTML 页面的编程代码:JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行. 一,编写方式 1.Ja ...
- 生成ldf数据库文件
.在我的电脑中删除LOG文件 c.附加数据库: 企业管理器--服务器--数据库--右键--附加数据库 此法将生成新的LOG,大小只有500多K