Tag: 投影变换预览模式: 普通 | 列表

坐标系统与投影变换

本文共可分为如下几个部分组成:
地球椭球体(Ellipsoid)
大地基准面(Geodetic datum)
投影坐标系统(Projected Coordinate Systems

World files文件

坐标系统又可分为两大类:地理坐标系统、投影坐标系统。
GIS
中的坐标系定义由基准面和地图投影两组参数确定,而基准面的定义则由特定椭球体及其对应的转换参数确定,因此欲正确定义GIS系统坐标系,首先必须弄清地球椭球体(Ellipsoid)、大地基准面(Datum)及地图投影(Projection)三者的基本概念及它们之间的关系。
地球椭球体(Ellipsoid)
 ArcGIS(ArcInfo)桌面软件中提供了30种地球椭球体模型;对地球椭球体而言,其围绕旋转的轴叫地轴。地轴的北端称为地球的北极,南端称为南极;过地心与地轴垂直的平面与椭球面的交线是一个圆,这就是地球的赤道;过英国格林威治天文台旧址和地轴的平面与椭球面的交线称为本初子午线。以地球的北极、南极、赤道和本初子午线等作为基本要素,即可构成地球椭球面的地理坐标系统(A geographic coordinate system (GCS) uses a threedimensional spherical surface to define locations on the earth.A GCS includes an angular unit of measure, a prime meridian,
and a datum (based on a spheroid).)
。可以看出地理坐标系统是球面坐标系统,以经度/维度(通常以十进制度或度分秒(DMS)的形式)来表示地面点位的位置。
地理坐标系统以本初子午线为基准(向东,向西各分了1800)之东为东经其值为正,之西为西经其值为负;以赤道为基准(向南、向北各分了900)之北为北纬其值为正,之南为南纬其值为负。

大地基准面(Geodetic datum
大地基准面(Geodetic datum),设计用为最密合部份或全部大地水准面的数学模式。它由椭球体本身及椭球体和地表上一点视为原点间之关系来定义。此关系能以 6个量来定义,通常(但非必然)是大地纬度大地经度、原点高度、原点垂线偏差之两分量及原点至某点的大地方位角。
让我们先抛开测绘学上这个晦涩难懂的概念,看看GIS系统中的基准面是如何定义的,GIS中的基准面通过当地基准面向WGS1984的转换7参数来定义,转换通过相似变换方法实现,具体算法可参考科学出版社1999年出版的《城市地理信息系统标准化指南》第76至86页。假设XgYgZg表示WGS84地心坐标系的三坐标轴,XtYtZt表示当地坐标系的三坐标轴,那么自定义基准面的7参数分别为:三个平移参数ΔXΔYΔZ表示两坐标原点的平移值;三个旋转参数εxεyεz表示当地坐标系旋转至与地心坐标系平行时,分别绕XtYtZt的旋转角;最后是比例校正因子,用于调整椭球大小。那么现在让我们把地球椭球体和基准面结合起来看,在此我们把地球比做是“马铃薯”,表面凸凹不平,而地球椭球体就好比一个“鸭蛋”,那么按照我们前面的定义,基准面就定义了怎样拿这个“鸭蛋”去逼近“马铃薯”某一个区域的表面,XYZ轴进行一定的偏移,并各自旋转一定的角度,大小不适当的时候就缩放一下“鸭蛋”,那么通过如上的处理必定可以达到很好的逼近地球某一区域的表面。因此,从这一点上也可以很好的理解,每个国家或地区均有各自的基准面,我们通常称谓的北京54坐标系、西安80坐标系实际上指的是我国的两个大地基准面。我国参照前苏联从1953年起采用克拉索夫斯基(Krassovsky)椭球体建立了我国的北京54坐标系,1978年采用国际大地测量协会推荐的1975地球椭球体(IAG75)建立了我国新的大地坐标系--西安80坐标系,目前大地测量基本上仍以北京54坐标系作为参照,北京54与西安80坐标之间的转换可查阅国家测绘局公布的对照表。 WGS1984基准面采用WGS84椭球体,它是一地心坐标系,即以地心作为椭球体中心,目前GPS测量数据多以WGS1984为基准。椭球体与基准面之间的关系是一对多的关系,也就是基准面是在椭球体基础上建立的,但椭球体不能代表基准面,同样的椭球体能定义不同的基准面。地球椭球体和基准面之间的关系以及基准面是如何结合地球椭球体从而实现来逼近地球表面的可以通过图2一目了然。
投影坐标系统Projected Coordinate Systems 地球椭球体表面也是个曲面,而我们日常生活中的地图及量测空间通常是二维平面,因此在地图制图和线性量测时首先要考虑把曲面转化成平面。由于球面上任何一点的位置是用地理坐标λφ表示的,而平面上的点的位置是用直角坐标χу或极坐标r 表示的,所以要想将地球表面上的点转移到平面上,必须采用一定的方法来确定地理坐标与平面直角坐标或极坐标之间的关系。这种在球面和平面之间建立点与点之间函数关系的数学方法,就是地图投影方法。接下来首先让我们来看看ArcGIS产品中对于北京54投影坐标系统的定义参数:从参数中可以看出,每一个投影坐标系统都必定会有Geographic Coordinate System(地理坐标系统)。那么我们从这一角度上解释一下投影和投影所需要的必要条件:将球面坐标转化为平面坐标的过程便是投影过程;投影所需要的必要条件是:第一、任何一种投影都必须基于一个椭球(地球椭球体),第二、将球面坐标转换为平面坐标的过程(投影算法)。简单的说投影坐标系是地理坐标系+投影过程。

 

让我们从透视法(地图投影方法的一种)角度来直观的理解投影,图2

 

几何透视法是利用透视的关系,将地球体面上的点投影到投影面(借助的几何面)上的一种投影方法。如假设地球按比例缩小成一个透明的地球仪般的球体,在其球心或球面、球外安置一个光源,将球面上的经纬线投影到球外的一个投影平面上。

 

投影既然是一种数学变换方法,那么任何一种投影都存在一定的变形,因此可以按照变形性质将投影方法如下分类:等角投影(Conformal  Projection      等积投影(Equal Area Projection)、等距投影(Equidistant Projection)、等方位投影(True-direction Projection)四种。每种投影根据其名称就可以知道其方法保证了数据的那些几何属性,在实际应用过程中应根据需求来选取某种投影。

 

       如果按照投影的构成方法分类又可分为方位、圆柱、圆锥投影三种,在上述三种投影中由于几何面与球面的关系位置不同,又分为正轴、横轴和斜轴三种。

我国大于等于50万的大中比例尺地形图多采用六度带高斯—克吕格投影,三度带高斯—克吕格投影多用于大比例尺1:1万测图,如城建坐标多采用三度带的高斯—克吕格投影。高斯—克吕格投影按分带方法各自进行投影,故各带坐标成独立系统。以中央经线(L0)投影为纵轴X, 赤道投影为横轴Y,两轴交点即为各带的坐标原点。为了避免横坐标出现负值,高斯—克吕格投影北半球投影中规定将坐标纵轴西移500公里当作起始轴。通常在横轴坐标前加上带号,如(4231898m,21655933m),其中21即为带号。

    我们再来看看ArcGIS中对我们国家经常采用北京54和西安80坐标系统是怎么样描述的,在ArcMap或是ArcCatalog中选择系统预定义的北京54和西安80坐标系统。
${ArcGISHome}\Coordinate Systems\Coordinate Systems\Projected Coordinate Systems\Gauss Kruger\Beijing 1954目录中,我们可以看到四种不同的命名方式:
    Beijing 1954 3 Degree GK CM 75E.prj
    Beijing 1954 3 Degree GK Zone 25.prj
    Beijing 1954 GK Zone 13.prj
    Beijing 1954 GK Zone 13N.prj

对它们的说明分别如下:
三度分带法的北京54坐标系,中央经线在东75度的分带坐标,横坐标前不加带号
三度分带法的北京54坐标系,中央经线在东75度的分带坐标,横坐标前加带号
六度分带法的北京54坐标系,分带号为13,横坐标前加带号
六度分带法的北京54坐标系,分带号为13,横坐标前不加带号
Coordinate Systems\Projected Coordinate Systems\Gauss Kruger\Xian 1980录中,文件命名方式又有所变化:
Xian 1980 3 Degree GK CM 75E.prj
    Xian 1980 3 Degree GK Zone 25.prj
    Xian 1980 GK CM 75E.prj
    Xian 1980 GK Zone 13.prj

西安80坐标文件的命名方式、含义和北京54前两个坐标相同,但没有出现“带号+N”这种形式,为什么没有采用统一的命名方式?让人看了的确有些费解,大家在应用过程中需要特别注意一下。

Tags: 坐标系统 投影变换 Arcgis

分类:GIS | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 918
1、动态投影(ArcMap)
     所谓动态投影指:改变ArcMap中的Data Frame(工作区)的空间参考或是对后加入到ArcMap工作区中数据的投影变换。ArcMapData
Frame(工作区)的坐标系统默认为第一个加载到当前DataFrame(工作区)的那个文件的坐标系统,后加入的数据,如果和当前工作区坐标系统不同,则ArcMap会自动做投影变换,把后加入的数据投影变换到当前坐标系统下显示,但此时数据文件所存储的实际数据坐标值并没有改变,只是显示形态上的变化!因此叫动态投影。表现这一点最明显的例子就是在Export Data时,用户可以选择是按this layer's source data(数据源的坐标系统导出),还是按照the Data Frame(当前工作区的坐标系统)导出数据。关于ArcMap的这种动态投影机制,我们可以利用一个北京54投影坐标系数据(乡镇.shp)和<ArcGIS Installation Directory>\DeveloperKit\SamepleCom\\data\World\目录下的world30.shp数据来做一个实验说明。乡镇.shp数据的坐标系统为北京54投影坐标系Krasovsky_1940_Transverse_Mercatorworld30.shp数据的坐标系统为WGS84坐标系(GCS_WGS_1984)。在ArcMapArcCatalog中预览形态如图8所示而在ArcMap中先加载北京54坐标系数据后再加入WGS84坐标系数据,可以非常明显的看到ArcMapWGS84数据做完动态投影后的数据几何形态上的改变,并且此时从ArcMap右下角的状态栏上也可以看到当前Data Frame(工作空间)的坐标系统为北京54平面投影坐标系统。反之在ArcMap中先加载WGS84坐标系数据后再加入北京54坐标系数据,让ArcMap对北京54坐标系数据进行动态投影后两数据叠加显示效果如图10所示: 将在图9中动态投影后的WGS84坐标系统数据按系统框架坐标系统导出后,单独加载或预览的数据几何形态如图11:通过上述实验能够很好的说明ArcMap的动态投影特性。

2、坐标系统描述(ArcCatalog)

大家都知道在ArcCatalog中可以给数据定义坐标系统描述!即在数据上鼠标右键->Properties->XY Coordinate System选项卡,这里可以通过NewModifySelectImport方式来为数据定义坐标系统描述。但有许多用户都认为在这里定义了数据的坐标系统信息后,其数据本身就发生了投影变换。其实不然,这里定义的数据坐标系统信息都对应到与该数据同名而后缀名为.prj文件当中!如果把该文件删除,在ArcCatalog重新查看(要在该数据的上层节点上Refresh刷新一下)该文件的坐标信息时,一样会显示为Unknown,并且数据的坐标值并没有发生实质上的投影变换,这里改的仅仅是对数据坐标系统信息的一个描述而已,这就好比我们每个人的基本信息登记卡,更改了登记信息,但并没有改变你这个人本身。因此数据文件中所存储数据的坐标值并没有真正的投影变换到你想要更改到的坐标系统下。

    我们同样拿上述的两个数据做一下实验,在ArcCatalog中更改world30.shp的坐标系统描述,在world30.shp文件上鼠标右键->Properties->XY Coordinate System选项卡中,通过Import方式导入乡镇.shp文件的Krasovsky_1940_Transverse_Mercator投影坐标系统描述,之后看一下结果图12

 

从上述示例我们可以很明显的看到更改数据的坐标系统描述并不能使数据做投影变换,从而使数据投影到平面上来,但该数据的prj文件已经记录了更改后的坐标系统描述,PROJCS

 

Prj文件记录了该投影坐标系的详细参数。但对数据坐标系统的这个描述也是非常重要的,如果我们拿到一份数据,从ArcMap下所显示的坐标来看,像是投影坐标系统下的平面坐标,但不知道是基于哪个椭球体的什么投影方法,因此就无法再对数据做进一步的处理,如:投影变换、量测等操作。因为我们无法得知从什么坐标系统下开始变换,以及该坐标 系统下的量测单位是什么。因此大家一定要更正对ArcCatalog中数据属性中关于坐标系统描述的认识。

 

3、投影变换(ArcToolBox)

 

上面说了这么多,可能有人要问:“要真正的改变数据的坐标值该怎么办?”也就是做真正的投影变换。在ArcToolBox->Data Management Tools->Projections and Transformations提供了如下工具:
      在这个工具集下有这么几个工具最为常用:

 

1Define Projection
2
Feature->Project
3Raster->Project Raster

 

4Create Custom Geographic Transformation
当数据在没有任何空间参考信息时,在ArcCatalog的坐标系统描述(XY

 

Coordinate System)选项卡中会显示为Unknown!这时如果要对数据进行投影变换就要先利用Define Projection工具来给数据定义一个Coordinate System,然后再利用Feature->ProjectRaster->Project Raster工具来对数据进行投影变换!

由于我们国家经常使用的坐标系统为北京54西安80。这两个坐标系统变换到其他坐标系统下时,通常需要提供一个Geographic Transformation,因为不同投影所基于的椭球体及Datum不同!关键是Datum不同,也就是说当两个投影基于不同的Datum时就需要制定参数做Geographic Transformation这里就用到我们前面所说的转换3参数、转换7参数了(三个平移参数ΔXΔYΔZ表示两坐标原点的平移值;三个旋转参数εxεyεz表示当地坐标系旋转至与地心坐标系平行时,分别绕XtYtZt的旋转角;最后是比例校正因子,用于调整椭球大小),而我们国家的转换参数是保密的,因此可以自己计算或在购买数据时向国家测绘部门索要。

Tags: arcmap Arcgis arccatalog 坐标系统 投影变换 桌面产品 应用

分类:GIS | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 948