GIS中的空间参考
GIS一般都是研究的基于地球的某个区域,例如一个国家、省或市的情况,既然地球上都有经纬度来标识,那么直接用经纬度来标识物体的位置不可以吗?但如果应用不一样,在实际中选择的空间参考系也是不一样的。例如我们使用GIS系统在做一个房间的布置的时候,就应该不会经纬度和高程数据来标识物体的位置。
但其实我们在GIS行业中主要研究的还是比较大的一片区域,可以都是相对于地球可以用经纬度表示的。但实际上地球是一个两级稍扁,赤道略鼓的不规则球体。并且在地球表面上既有高山也有海洋、还有低于海平面的盆地等,这么复杂的形状是没法用数学公式定义的。那么可以把地球当成一个圆球的形状吗?这样很容易用数学公式描述。但这种情况下做直径几厘米或几十厘米的地球仪是可以的,但绘制大比例尺地图或者进行精密的计算时,这样的计算精度就太差了,根本不能满足需求。所以一般情况下会把地球模拟成一个椭球体,但如果有更高精度要求话应该模拟的更复杂。
地球大致的形状
地球可能实际的形状
- 1979年,国际大地测量及地球物理协会给出的地球椭球体的参数数据如下:
- 赤道半径(长轴半径): 6378.14 km
- 极半径(短轴半径): 6356.76 km
- 赤道周长:40075.7 km
- 地球表面积:510100934 km2
- 地球平均半径:6371 km
地理坐标系
椭球体
如果要定义一个空间参考,首先要确定模拟地球的椭球体的一些参数,在历史上有很多椭球体模型的,例如我国在1952以前采用海福特(Hayford)椭球体,从1953年-1980年采用克拉索夫斯基椭球体,随着人造卫星的发射和测量技术的发展,我们开始使用16届国际大地测量及地球物理联合会公布的椭球体,名称为GRS(1975)。但实际上我们拿到的数据和做的系统使用的椭球体是很多的。可以说是各种各样。
基准面
有了椭球体来模拟地球,我们就可以比较准确对应地球表面的点和椭球体表面的点,然后用经纬度描述。那基准面是干嘛的呢?我们前面也提到,地球是一个表面高低起伏不平的椭球体,大部分是海洋,最低处和最高处相差近20km。椭球体我们确定了,那椭球体的怎么和地球体去贴和?基于整个地球的还好,但如果是基于亚洲,基于中国的一个空间参考呢?例如一个基于中国的空间参考,椭球体已经定义好了,在没有基准面的情况下,直接把椭球体贴合到地球上,地球表面是起伏不平的,因为要考虑整体贴合,所以对中国而言就贴合的不是很好。但如果我们只研究中国这块区域,是不是可以把这个椭球体调整一下,让椭球体的表面更加贴近中国的区域?答案是可以的,调整的参数其实就是基准面了。所以这就不难理解每个州、国家甚至区域都有自己的基准面。例如我们通常说的北京54和西安80指的就是基准面。
当地球和椭球体整体贴合时的情况
当椭球体要贴合某一区域时的情况(贴合左边的某一区域)
我们一旦说基准面的时候,这个基准面肯定是包含一个椭球体的,在一个椭球体基础上定义出不同的基准面。椭球体和基准面是1对多的关系。像我们国家的北京54基准面使用的椭球体是克拉索夫斯基椭球体,而西安80基准面使用的椭球体是我们上面所说的GRS(1975)椭球体。
基准面分为地心基准面和大地基准面。如果是基于整个地球的基准面呢,应该是是为地心为原点的,例如WGS84就是以地球质心为原点的地心基准面,是目前使用最广放的全球的基准面。WGS84基准面使用的椭球体就叫WGS84椭球体,这些椭球体的参数都可以查到。
那么基准面是怎么定义的呢?
在测量学中,大地基准面(Geodetic datum),设计用为最密合部份或全部大地水准面的数学模式。它由椭球体本身及椭球体和地表上一点视为原点间之关系来定义。此关系能以6个量来定义,通常(但非必然)是大地纬度、大地经度、原点高度、原点垂线偏差之两分量及原点至某点的大地方位角。
GIS中的基准面通过当地基准面向WGS1984的转换7参数来定义,转换通过相似变换方法实现,假设 Xg、Yg、Zg表示WGS84 地心坐标系的三坐标轴,Xt、Yt、Zt 表示当地坐标系的三坐标轴,那么自定义基准面的 7参数分别为:三个平移参数ΔX、ΔY、ΔZ表示两坐标原点的平移值;三个旋转参数 εx、εy、εz表示当地坐标系旋转至与地心坐标系平行时,分别绕 Xt、Yt、Zt 的旋转角;最后是比例校正因子,用于调整椭球大小。(以上两段从网上摘抄,我自己也不怎么明白)
我国主要采用的地理坐标系
●1954年北京坐标系(Beijing Geodetic Coordinate System,l954)
该坐标系是通过与原苏联1942年坐标系联测而建立的,其原点不在北京,而是在苏联普尔科沃。该坐标系采用克拉索夫斯基椭球(Krasovsky-1940)作为参考椭球,高程系统采用正常高,以1956年黄海平均海水面为基准。
●1980年西安坐标系
其大地原点设在西安西北的永乐镇,简称西安原点。椭球参数选用1975年国际大地测量与地球物理联合会第16届大会的推荐值。简称IUGG-75地球椭球参数或IAG-75地球椭球。2000年后的空间数据常采用该坐标系。
●WGS84坐标系(WGS一84 Coordinate System)
在GPS定位中,定位结果属于WGS-84坐标系。该坐标系是使用了更高精度的VLBL、SLR等成果而建立的。坐标系原点位于地球质心,Z轴指向BIH1984.0协议地极(CTP)。用于GPS定位系统的空间数据采用该坐标系。
ArcGIS对地理坐标系的定义
ArcGIS地理坐标系中的类是GeographicCoordinateSystemClass类,看下该类的主要接口IGeographicCoordinateSystem,主要的定义代码如下:
//角度单位
IAngularUnit CoordinateUnit { get; }
//基准面
IDatum Datum { get; }
//本初子午线定义
IPrimeMeridian PrimeMeridian { get; }
基准面接口为:IDatum,代码定义如下:
ISpheroid Spheroid { get; }
Spheroid是椭球体,定义如下:
//椭球体扁率
double Flattening { get; }
//长半轴值
double SemiMajorAxis { get; }
//短半轴值
double SemiMinorAxis { get; }
在ArcGIS中定义地理坐标系的界面如下:
从界面上我们可以看出该地理坐标系是WGS84地理坐标系,使用的基准面名称为D_WGS_1984基准面,基准面使用的椭球体为WGS_1984,椭球体的长半轴长度为6378137,椭球体的短半轴长度为6356752.3142451793,扁率为198.25722356300003,因为长半轴、短半轴和扁率只要知道两个值就能知道第三个,所以只有两个可设置。下面角度单位设置的时度,每单位的弧度值是0.017453292519943295,因为π=3.1415925...=180度,所以设置的这个值0.017453292519943295*180应该等于π。
下面就是设置本初子午线,设置为格林尼治,也就是经度0度0分0秒。
下面截图是地理坐标系beijing54的定义:
该坐标系的基准面是D_beijing_1954,该基准面使用的椭球体为krasovsky_1940,也就是克拉索夫斯基_1940。
下面是xian80的定义:
椭球体使用的时西安80,西安80的长半轴和短半轴基本上和GRS(1975)差不多。
投影坐标系
为什么会有投影的概念呢?
因为地球是一个立体的球,而我们在二维地图上展示或者打印出图的都是平面的,怎么把一个球上面的曲面的东西展示到一个二维平面上。如果按照把地球沿着本初子午线切开,然后平铺,因为地球是从赤道到两级地球的沿着纬线的周长是越来越短的,如果沿赤道展开,两级肯定是展不开的,并且有裂缝。或者赤道有褶皱才行。我们在看二维地图的时候,有的经纬网是横平竖直的,有的却是向两极弯曲的,出现这种情况就是投影的不同导致的。
按变形性质地图投影可以分三类:等角投影、等积投影和任意投影。
国内外常用的投影有:
●通用横轴墨卡托投影(UNIVERSAL-TRANSVRSE-MERCATOL,UTM)
该投影为横轴等角割圆柱投影,该投影将地球分为60个投影带,每带经度差为6度,已被许多国家作为地形图的数字基础。一般能从南纬80度到北纬84度的范围内使用该投影,对于两极地区则采用UPS(通用球面极)投影。
涉及的参数为:向东平移值、向北平移值、中线子午线经度、投影原点纬度、坐标单位、比例尺(若用实地坐标,该值为1)、椭球参数等。
●亚尔伯斯等积圆锥投影(Albers)
即为双标准纬线投影,也即正轴等面积割圆锥投影。该投影经纬网的经线为辐射直线,纬线为同心圆圆弧。Albers投影的应用在编制一些行政区划图、人口地图、地势图等方面应用较广。如中国地势图,即是以第一标准纬度Q1=25度,第二标准纬度Q2=45度的该投影;水利部水利信息中心建立的全国1:25万水利空间数据库采用的即为该投影(中央子午线经度110度,Q1=25度,Q2=47度)。
涉及的参数为:向东平移值、向北平移值、中线子午线经度、第一标准纬度、第二标准纬度、投影原点纬度、坐标单位、比例尺(若用实地坐标,该值为1)、椭球参数等。
●兰伯特等角圆锥投影(Lambert-Conformal-Conic)
也称兰伯特正形圆锥投影,该投影的微分圆投影后仍为圆形。经线为辐射直线,纬线为同心圆圆弧。指定两条标准纬度线Q1、Q2,在这两条纬度线上没有长度变形,此种投影也叫做等角割圆锥投影,常用来编制中、小比例尺地图。等角圆锥投影有广泛的应用,特别适宜于作为中纬度处沿纬线伸展的制图区域之投影,我国的分省地图即为Q1=25度,Q2=45度的兰伯特等角圆锥投影。1962年以后,1:100地图采用了等角圆锥投影(南纬度80度,北纬度84度),极区附近,采用等角方位(极球面投影)。
涉及的参数为:向东平移值、向北平移值、中线子午线经度、第一标准纬度、第二标准纬度、投影原点纬度、坐标单位、比例尺(若用实地坐标,该值为1)、椭球参数等。
●墨卡托投影(Mercator)
等角正圆柱投影也称墨卡托投影,经纬线投影为互相正交的平行直线。该投影在航海、航空应用很广。使用该投影,等角航线在地图上是一条直线。值得注意的是,等角航线是球面上两点间对所有经线保持等方位角的特殊曲线,不是两点间的最近路线,是一条以极点为渐近点的螺旋曲线。
涉及的参数为:向东平移值、向北平移值、中线子午线经度、无变形纬度、坐标单位、比例尺(若用实地坐标,该值为1)、椭球参数等。
●高斯-克吕格投影(Gauss-Kruger)
该投影是等角横切椭圆柱投影,由德国数学家高斯提出,后经克吕格扩充并推算出计算公式,故称为高斯-克吕格投影,简称高斯投影。该投影以中央经线和赤道投影后为坐标轴,中央经线和赤道交点为坐标原点,纵坐标由坐标原点向北为正,向南为负,规定为X轴,横坐标从中央经线起算,向东为正,向西为负,规定为Y轴。所以,高斯-克吕格坐标系的X、Y轴正好对应一般GIS软件坐标系中的Y和X。
为了控制变形,本投影采用分带的办法,我国1:2.5万——1:50万地形图均采用6度分带,1:1万及更大比例尺地形图采用3度分带,以保证必要的精度。6度分带从格林威治零度经线起,每6度分为一个投影带,该投影将地区划分为60个投影带,已被许多国家作为地形图的数字基础。一般从南纬度80到北纬度84度的范围内使用该投影。3度分带法从东经1度30分算起,每3度为一带。这样分带的方法在于使6度带的中央经线均为3度带的中央经线;在高斯克吕格6度分带中中国处于第13带到23带共12个带之间;在3度分带中,中国处于24带到45带共22带之间。
对于两极地区则采用UPS投影(通用球面极投影)。高斯-克吕格投影通常投影带为6度范围或3度,超过了6度后变形会增大。一般常用来制作中、大比例尺的地图投影,如1:50万、1:10万、1:5万、1:1万等。
由于高斯-克吕格投影每一个投影带的坐标都是对本带坐标原点的相对值,所以各带的坐标完全相同,使用时只需要一个带号即可。
在高斯坐标系中,为了避免横坐标Y有负值,将其起算原点向西移动500公里,即对横坐标Y值按代数法加上500000米。此外,可以在计算出米的和数前面加上带号,以便识别该点位于何带。高斯-克吕格坐标系的横坐标最多为6位,纵向最多为7位。若横向为8位,则前2位为带号。
涉及的参数为:向东平移值、向北平移值、中线子午线经度、投影原点纬度、坐标单位、比例尺(若用实地坐标,该值则为1)、椭球参数等。
●普通多圆锥投影(Polyconic)
普通多圆锥投影的坐标为对称于中央经线和赤道的曲线,纬线投影为同轴圆圆弧,弧心位于中央直径线上,中央经线是直线,M=1。该投影适用于沿中央经线延伸的区域(15度范围内)。常用于编制中、小比例尺的数字基础。该投影在美国被广泛应用,是1:100万地图投影的基础。
涉及的参数为:向东平移值、向北平移值、中线子午线经度、投影原点纬度、坐标单位、比例尺(若用实地坐标,该值则为1)、椭球参数等。
国内外常采用的投影还有正轴等距离割圆锥投影、横向墨卡托投影(Transverse-Mercator)、等角方位投影(Azimuthal-Conformal)、兰伯特等积方位投影(Lambert-Azimuthal-Equal-Area)、波斯托等距离方位投影(Azimuthal-Equidistant)、心射切面投影或球心投影、正射方位投影、垂直近距离方位投影或外心投影(Vertical-Near-Side-Perspective)、正弦曲线等面积伪圆柱投影(Simusoidal)、等矩形圆柱投影(Equidistant-Cylindrical)、米勒圆柱投影(Miller-Cylindrical)、斜轴墨卡托投影、两极球极平面投影、范·德·格林顿投影(Van-Der-Grinten-I)。
一个地理坐标系可以使用不用的投影,例如现在中国常用xian80坐标系可以有Gauss_Kruger投影、Albers投影。
例如全球地图,在WGS84下,使用Web墨卡托的投影显示如下:
web墨卡托的显示参数
web墨卡托地图显示效果
xian80 Albers投影坐标系参数
GIS中的空间参考的更多相关文章
- GIS空间参考及坐标转换
空间参考(Spatial Reference)是 GIS 数据的骨骼框架,能够将我们的数据定位到相应的位置,为地图中的每一点提供准确的坐标. 在同一个地图上显示的地图数据的空间参考必须是一致的,如果两 ...
- MAPZONE GIS SDK接入Openlayers3之二——空间参考扩展
Openlayers默认了两种空间参考,一个是EPSG4326,一个是EPSG3857,其它的空间参考需要进行扩展才能使用.所以我们初始化时进行了如下操作: 1.将配置数据库中所有的空间参考读取出来, ...
- ArcGIS Engine开发之旅09--几何对象和空间参考
原文:ArcGIS Engine开发之旅09--几何对象和空间参考 1.Geometry Geometry 是 GIS 中使用最为广泛的对象集之一,用户在创建.删除.编辑和进行地理分析的时候,就是处 ...
- MySQL中的空间扩展
目录 19.1. 前言 19.2. OpenGIS几何模型 19.2.1. Geometry类的层次 19.2.2. 类Geometry 19.2.3. 类Point 19.2.4. 类Curve 1 ...
- 空间参考系统与WKT解析
空间参考系统与WKT解析 1.为什么要空间参考系统? 空间参考系统,也称为坐标系统.在GIS中为地理数据定位的基准,假设给你一个坐标(442281.875,4422651.589).如果不给你空间参考 ...
- [转]基于WorldWind平台的建筑信息模型在GIS中的应用
1 引言 随着BIM(Building Information Modeling)的不断发展,建筑信息建模的理念贯穿着建筑.结构.施工.运行维护以及拆迁再规划的整个建筑的生命周期,这种理念不仅使得 ...
- 聊聊GIS中的坐标系|再版 详细定义、计算及高程系统
本篇讲坐标系统的详细定义,有关坐标系的变换公式,以及简单说说高程坐标系统. 本文约6000字,阅读时间建议45分钟.硬内容比较多,如有疏漏错误请指出,建议有兴趣的朋友进一步阅读. 作者:博客园/B站/ ...
- SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型
原文:SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 R2调测 ...
- 浅谈设计模式在GIS中的应用
设计模式在GIS中的应用 一.设计模式概述 随着面向对象技术的广泛应用,软件复用在越来越多的开发工程中被采用.在研究软件复用的过程中,设计模式的概念被提了出来.所谓设计模式就是一些设计面向对象的软件的 ...
随机推荐
- Java温故而知新(2)多线程详解
多线程指的是在单个程序中可以同时运行多个同的线程执行不同的任务.线程是程序内的顺序控制流,只能使用分配给序的资源和环境. 一.线程与进程的区别 多个进程的内部数据和状态都是完全独立的,而多线程 ...
- maven父子项目
maven搭建父子项目 1.先建立一个父项目,建立项目的时候,选择 Create a simple project 点击 next,填写以下信息 点击finish就可以了. 2.接下来要建立一个子项 ...
- 小白学flask之静态文件
引入css的方式有两种 1 那在flask中,如何处理静态文件? 做法很简单,只要在你的包或模块旁边创建一个名为 static 的文件夹就行了. flask的静态文件是位于应用的 /static 中的
- 001Spring 定时任务 Scheduled
01.@Scheduled注解参数 @Scheduled支持fixedRate.fixedDelay.cron表达式参数.其中,fixedRate和fixedDelay没有区别,都是启动时执行1次,每 ...
- 核心API
1.ProcessEngine ProcessEngine是Activiti中最核心的类,其他的类都是由他而来.Activiti流程引擎的配置文件是名为 activiti.cfg.xml 的XML文件 ...
- Java中的深拷贝和浅拷贝(转载)
深拷贝(深复制)和浅拷贝(浅复制)是两个比较通用的概念,尤其在C++语言中,若不弄懂,则会在delete的时候出问题,但是我们在这幸好用的是Java.虽然java自动管理对象的回收,但对于深拷贝(深复 ...
- [小北De编程手记] : Lesson 03 - Selenium For C# 之 元素定位
无论哪一种自动化测试的驱动框架(基于B/S,桌面应用,还是手机App).都应当具有一套优秀的元素定位技术.通常的自动化测试流程也可以简单的归结为是一个从被测试程序中识别或是定位元素以及执行操作和验证元 ...
- 《Visual C++ 2010入门教程》系列一:关于Visual Studio、VC和C++的那些事
原文:http://www.cnblogs.com/Mrt-02/archive/2011/07/24/2115606.html 作者:董波 日期:2010.6.15 写在前面 在我还在上学的时候,我 ...
- idea 出现 java.noSuchMechodFound
公司 用了多个项目来相互之间形成依赖.每次修改或者添加新功能,会升级版本.用的是maven,这几天 一直 出现一个问题就是:本地 升级版本完后 使用 git命令 mvn -deploy -e 打包后, ...
- google离线小恐龙-备份
开启方法: 地址栏输入: chrome://dino 空格开始