天涯左岸

ArcGIS中坐标系统简介

GIS处理的是空间信息,而所有对空间信息的量算都是基于某个坐标系统的,因此GIS中坐标系统的定义是GIS系统的基础,正确理解GIS中的坐标系统就变得尤为重要。ArcGIS是大家常用的地理信息系统软件,但是对于其中的坐标系统,许多人都表示不理解。现在就介绍一下ArcGIS的坐标系统特点及其中常用坐标系统。

首先,我们要介绍一下基础知识,在ArcGIS中,坐标系统有两种,一种叫做地理坐标系统(Geographic Coordinate Systems),还有一种叫投影坐标系统(Projected Coordinate Systems),他们位于ArcGIS安装目录的Coordinate Systems文件夹中,其实ArcGIS还有一种坐标系统叫做Vertical Coordinate Systems,直译过来就是垂直坐标系统,其实就是定义空间地理数据所采用的高程基准,比如中国现行的高程基准是1985国家高程基准。

1. 地理坐标系统(Geographic Coordinate Systems)

所谓地理坐标系统(Geographic Coordinate Systems)是指用经纬度表示地面点位的球面坐标,很显然地理坐标系统为球面坐标系统。ArcGIS中最常用的地理坐标系统为WGS84,其参数如下:

Angular Unit: Degree (0.017453292519943295)

Prime Meridian: Greenwich (0.000000000000000000)

Datum: D_WGS_1984

Spheroid: WGS_1984

Semimajor Axis: 6378137.000000000000000000

Semiminor Axis: 6356752.314245179300000000

Inverse Flattening: 298.257223563000030000

从上面的参数中我们可以看出,WGS84地理坐标系统包含有Angular Unit(角度单位)、Prime Meridian(本初子午线)、Datum(基准面)和Spheroid(椭球体)四个参数。Angular Unit定义了地图的单位为度,Prime Meridian定义所采用的本初子午线,这是两个比较好理解的参数,下面重点介绍后两个参数。

(1)基准面(Datum)

在测量学中,大地基准面(Geodetic datum),设计用为最密合部份或全部大地水准面的数学模式。它由椭球体本身及椭球体和地表上一点视为原点间之关系来定义。此关系能以6个量来定义,通常(但非必然)是大地纬度、大地经度、原点高度、原点垂线偏差之两分量及原点至某点的大地方位角。

GIS中的基准面通过当地基准面向WGS1984的转换7参数来定义,转换通过相似变换方法实现,假设 Xg、Yg、Zg表示WGS84 地心坐标系的三坐标轴,Xt、Yt、Zt 表示当地坐标系的三坐标轴,那么自定义基准面的 7参数分别为:三个平移参数ΔX、ΔY、ΔZ表示两坐标原点的平移值;三个旋转参数 εx、εy、εz表示当地坐标系旋转至与地心坐标系平行时,分别绕 Xt、Yt、Zt 的旋转角;最后是比例校正因子,用于调整椭球大小。每个国家或地区均有各自的基准面,我们通常称谓的北京 54坐标系、西安80坐标系实际上指的是我国的两个大地基准面。

(2)椭球体(Spheroid)

众所周知我们的地球表面是一个凸凹不平的表面,而对于地球测量而言,地表是一个无法用数学公式表达的曲面,这样的曲面不能作为测量和制图的基准面。假想一个扁率极小的椭圆,绕大地球体短轴旋转所形成的规则椭球体称之为地球椭球体。地球椭球体表面是一个规则的数学表面,可以用数学公式表达,所以在测量和制图中就用它替代地球的自然表面。因此就有了地球椭球体的概念。

地球椭球体有长半径和短半径之分,长半径(a)即赤道半径,短半径(b)即极半径。f=(a-b)/a为椭球体的扁率,表示椭球体的扁平程度。由此可见,地球椭球体的形状和大小取决于a、b、f 。因此,a、b、f 被称为地球椭球体的三要素。

ArcGIS Desktop中提供了30种地球椭球体模型。我们比较常用的有克拉索夫斯基、WGS84和ICA-75几种椭球体。他们的主要参数如下所示:

名称 长半轴/m 短半轴/m 扁率
Krasovsky 6378245 6356863.0188 1:298.3
WGS84 6378137 6356752.3142 1:298.257
IAG-75 6378140 6356755.2882 1:298.257

我国参照前苏联从1953年起采用克拉索夫斯基(Krassovsky)椭球体建立了我国的北京54坐标
系,1978年采用国际大地测量协会推荐的 1975地球椭球体(IAG-75)建立了我国新的大地坐标系–西安 80坐标系,WGS1984 基准面采用 WGS84椭球体,它是一地心坐标系,即以地心作为椭球体中心,目前GPS测量数据多以 WGS1984 为基准。

2. 投影坐标系统(Projected Coordinate Systems)

地球椭球体表面也是个曲面,而我们日常生活中的地图及量测空间通常是二维平面,因此在地图制图和线性量测时首先要考虑把曲面转化成平面。由于球面上任何一点的位置是用地理坐标(λ,φ)表示的,而平面上的点的位置是用直角坐标(χ,у)或极坐标(r, )表示的,所以要想将地球表面上的点转移到平面上,必须采用一定的方法来确定地理坐标与平面直角坐标或极坐标之间的关系。这种在球面和平面之间建立点与点之间函数关系的数学方法,就是地图投影方法。

我们来看一下ArcGIS中,西安80坐标系的参数,如下所示:

Projection: Gauss_Kruger

False_Easting: 39500000.000000

False_Northing: 0.000000

Central_Meridian: 117.000000

Scale_Factor: 1.000000

Latitude_Of_Origin: 0.000000

Linear Unit: Meter (1.000000)

Geographic Coordinate System: GCS_Xian_1980

Angular Unit: Degree (0.017453292519943299)

Prime Meridian: Greenwich (0.000000000000000000)

Datum: D_Xian_1980

Spheroid: Xian_1980

Semimajor Axis: 6378140.000000000000000000

Semiminor Axis: 6356755.288157528300000000

Inverse Flattening: 298.257000000000010000

从参数中可以看出,每一个投影坐标系统都必定会有地理坐标系统(Geographic Coordinate System)。那么我们从这一角度上解释一下投影和投影所需要的必要条件:将球面坐标转化为平面坐标的过程便是投影过程;投影所需要的必要条件是:第一、任何一种投影都必须基于一个椭球(地球椭球体),第二、将球面坐标转换为平面坐标的过程(投影算法)。简单的说投影坐标系是地理坐标系+投影过程。

下面我们来看看ArcGIS中对我国北京54和西安80坐标系统是如何描述的,在ArcMap或是ArcCatalog中选择系统预定义的北京54和西安80坐标系统。

在Beijing 1954目录中,我们可以看到四种不同的命名方式:

Beijing 1954 3 Degree GK CM 117E.prj

Beijing 1954 3 Degree GK Zone 39.prj

Beijing 1954 GK Zone 20.prj

Beijing 1954 GK Zone 20N.prj

对它们的说明分别如下:

3度分带法的北京54坐标系,中央经线在东117度的分带坐标,横坐标前不加带号
3度分带法的北京54坐标系,中央经线在东117度的分带坐标,横坐标前加带号
6度分带法的北京54坐标系,分带号为20,横坐标前加带号
6度分带法的北京54坐标系,分带号为20,横坐标前不加带号

在Xian 1980目录中,文件命名方式为下面所示:

Xian 1980 3 Degree GK CM 117E.prj

Xian 1980 3 Degree GK Zone 39.prj

Xian 1980 GK CM 117E.prj

Xian 1980 GK Zone 20.prj

它们的含义分别如下:

3度分带西安80坐标系,中央经线为东经117,横坐标前不带带号
3度分带西安80坐标系,中央经线为东经117,横坐标前加带号
6度分带西安80坐标系,中央经线为东经117,横坐标前不带带号
6度分带西安80坐标系,中央经线为东经117,横坐标前加带号

14 comments

  1. 陕西省安康市中央经线是多少,X,Y,Z分别是-37,75,70.F是0.但F在GPS里无法调整.GPS是集思宝500.

    1. 额~,最近比较忙,好长时间没有上网站来看了。你的问题我还真没法回答。在不同地方的地方坐标系中,中央经线、三参、七参等一般都不公布,你可以咨询当地的测绘局。不过告不告诉你就不知道了。

  2. 谢谢师哥啊!回的这么快!
    这个失量层是我自己数字化的,我按师哥说的根据栅格图的投影设了一下。又出新问题了。之前有一层我试的设坐标系,就把这一层设成了Geographic Coordinate System中的GCS_Xian_1980。然后现在想把它改成WGS84,或者直改成WGS_1984_UTM_ZONE_50N,但是改不了也转不了,在ArcCatalog里面也改不了,在arctoolbox里面用project转也不行用create也不行。
    在layer properties里面总是显示:
    Geographic Coordinate System: GCS_Xian_1980
    Datum: D_Xian_1980
    Prime Meridian: Greenwich
    Angular Unit: Degree

    每次加载这层的时候总弹出一个提示错误的对话框:
    warning,inconsistent extent!

    One or more of the added layers has an extent that is not consistent with the associated spatial reference information.

    Re-projecting the data in such a layer may lead to unexpected behavior.Use ArcCatalog to confirm the spatial reference is correct and adjust if necessary.

    我现在想解决两个问题:
    1、我画的这个失量图,想要设坐标系,是不是直接在ArcCatalog里面根据底图栅格图的投影坐标设置即可,不用管地理坐标系也不用在arctoolbox里面转投影之类的?

    2、如果我第一次设的坐标系错了,该怎么改?我找不出我的操作问题出在哪。

    1. 看来你对Geographic Coordinate System和Projected Coordinate System的概念还是有些不清楚,前者的单位全部是经纬度,可以是度分秒也可以使十进制的度,是球面坐标,而后者是以米为单位的平面直角坐标系统。WGS_1984_UTM_ZONE_50N是属于Projected Coordinate System的,它和Geographic Coordinate System是两个完全不同的系统,不能直接更改坐标类型,必须通过投影变换来实现从Geographic Coordinate System到Projected Coordinate System的转换。因为Geographic Coordinate System和Projected Coordinate System的坐标数值相差甚远,所以会提示地图范围超界。

      你的矢量图要坐标系统,你需要确定矢量化时用的栅格底图是什么坐标系统,是Geographic Coordinate System还是Projected Coordinate System,矢量化后的矢量图层需要和栅格图层具有相同的坐标系统。如果说矢量化用的栅格图层是Geographic Coordinate System,一般设置World中的WGS 1984即可,如果是Projected Coordinate System坐标系统,那么这个常用的坐标就比较多了,北京54、西安80,包括你要改成的WGS_1984_UTM_ZONE_50N都是Projected Coordinate System,如果你的栅格图层是Geographic Coordinate System坐标,而你需要的矢量图层是Projected Coordinate System坐标的话,这个必须要进行投影变换。包括Projected Coordinate System中不同坐标系统之间的变换也需要通过投影变换来实现。

      如果第一次设置的投影错了,那么清除掉错误投影,重新设置成和栅格底图相同的坐标即可。

      这个回复好长啊。呵呵。

  3. 刚才表达错了。失量定义坐标系的时候怎么做?先create spatial reference吗?但是create以后为什么也不行。在做project的时候,arcgisj里还是要求原来的失量图有一个自代的坐标系才能进行投影,对于之前完全没有坐标系的失量图定义坐标系该怎么做?

    1. 如果说你的矢量图原先是有坐标信息的,但是由于某种原因把坐标信息弄丢了,这时如果你知道原先的坐标系统是什么,那么在ArcCatalog里为该图层添加正确的坐标系统即可。一般情况下矢量图层应该有坐标信息,即使丢失了,但是坐标数据还是显示的,只是不知道单位而已。有疑问可以随时交流。

  4. 师哥,我这有个疑问,比如有一个失量图,数据没有任何空间参考,显示unknown.我要想定义坐标系,define projection的时候,是不是先要定义地理坐标系,然后再转到投影坐标系。不能直接define一个投影坐标系?

发表评论

电子邮件地址不会被公开。 必填项已用*标注