查看原文
其他

ArcGIS 中的坐标系:基本概念和常用操作

扫描文末二维码可领取此电子版资料


本文来源于:李郎平老师

中国科学院地理科学与资源研究所,资源与环境信息系统国家重点实验室

     

 缘由:介绍 GIS(地理信息系统)中的坐标系的想法由来已久,因为工作中我发现有不少 GIS专业的学生在博士毕业后仍然在坐标系的概念理解和实际操作等方面不太清楚,而保证数据坐标系的正确与合理是数据分析的前提。今年有幸辅助国科大地图学与地理信息系统教研室《GIS 应用实践》的教学工作,借此机会完成此想法。ArcGIS 无疑是应用最广的 GIS 软件,因此以 ArcGIS 为工具介绍坐标系的基本概念和常用操作。我想,对于 GIS 专业人员、尤其对于 GIS 大牛来说,这是很小菜的。如有错误或不当之处,不吝指出。

1. 两种坐标系

坐标系(Coordinate System)的概念为:“In geometry, a coordinate system is a system which uses one or more numbers, or coordinates, to uniquely determine the position of a point or other geometric element on a manifold such as Euclidean space”(https://en.wikipedia.org/wiki/Coordinate_system)。简单的说,有了坐标系,我们才能够用一个或多个“坐标值”来表达和确定空间位置。没有坐标系,坐标值就无从谈起,也就无法描述空间位置


“在 ArcGIS 中,或者说在 GIS 中,我们遇到的坐标系一般有两种: 

1)地理坐标系(Geographic Coordinate System);

2)投影坐标系(Projected Coordinate System)

地理坐标系进行地图投影后就变成了投影坐标系。地图投影(Map Projection)是按照一定的数学法则将地球椭球面上点的经维度坐标转换到平面上的直角坐标。地图投影的理论知识请参考其他资料,此处不做叙述。需要说明的是,也有将“坐标系(Coordinate System)”称为“空间参考(Spatial Reference)”的情况,例如在 ArcGIS 中栅格数据的属性里面。


重要的事情说三遍:

这里要讲的不是“投影(Projection)”而是“坐标系(Coordinate System)”!

这里要讲的不是“投影(Projection)”而是“坐标系(Coordinate System)”!

这里要讲的不是“投影(Projection)”而是“坐标系(Coordinate System)”!


尽管投影是介绍坐标系的一个绕不开的重要内容。但是,首先,此文是围绕坐标系展开的。其次,说三遍是为了强调投影和坐标系的本质区别。坐标系是数据或地图的属性,而投影是坐标系的属性一个数据或一张地图一定有坐标系,而一个坐标系可以有投影也可以没投影。只有投影坐标系才有投影,地理坐标系是没有投影的。因此,一个数据或一张地图亦是可以有投影也可以没投影的。当然,非要较真,把具有地理坐标系的数据显示在平面地图上肯定也有一个投影的过程。严格来讲:我们只能说“数据或地图的坐标系”和“坐标系的投影”,而不能说“数据或地图的投影”。也许是大家平时都比较随意,尽管都是知道二者的区别的,但是却在很多想说坐标系的时候就随口说成了投影。因此,当你说“数据的投影”和“投影转换”时,可以考虑下你是不是想说“数据的坐标系”和“坐标系转换”


先抬出重要的总结:地理坐标系经过投影后变成投影坐标系,投影坐标系因此由地理坐标系和投影组成,投影坐标系必然包括有一个地理坐标系。图 1 概括了两种坐标系的联系:


下面以一个具体示例来初识 ArcGIS 中的坐标系,其全部参数拷贝在下面。这一示例是一个“投影坐标系(Projected Coordinate System)”,其名称是“WGS_1984_UTM_Zone_50N”。“WKID”是该坐标系的编号,“ESPG”是“European Petroleum Survey Group”的缩写,表示其由“欧洲石油调查组织”发布。可知,“WGS_1984_UTM_Zone_50N”这个投影坐标系由 两 部 分 组 成 :名 为 “Transverse_Mercator” 的 “ 投 影 ( Projection ) ”和名为“GCS_WGS_1984”的“地理坐标系(Geographic Coordinate System)”

WGS_1984_UTM_Zone_50N 

WKID: 32650 Authority: EPSG 


Projection: Transverse_Mercator 

False_Easting: 500000.0 

False_Northing: 0.0 

Central_Meridian: 117.0 

Scale_Factor: 0.9996 

Latitude_Of_Origin: 0.0 

Linear Unit: Meter (1.0) 


Geographic Coordinate System: GCS_WGS_1984 

Angular Unit: Degree (0.0174532925199433) 

Prime Meridian: Greenwich (0.0) 

Datum: D_WGS_1984 

     Spheroid: WGS_1984 

          Semimajor Axis: 6378137.0 

          Semiminor Axis: 6356752.314245179 

          Inverse Flattening: 298.257223563


地理坐标系由三个参数来定义:角度单位(Angular Unit)、本初子午线(Prime Meridian)和大地测量系统(Datum)。地理坐标系“GCS_WGS_1984”使用的角度单位为“度(Degree)”,0.0174532925199433 这个数字等于“π/180”,使用的本初子午线为 0.0 度经线,即格林威治皇家天文台(Greenwich)所在位置的经线,使用的大地测量系统则为“D_WGS_1984”。


地理坐标系的最重要的参数是“大地测量系统(Datum)”,而大地测量系统的最重要的参数是“椭球(Spheroid)”。椭球相同,大地测量系统不一定相同,因为原点(origin)和方位(orientation)可以不同。想象一下,同一个椭球,首先可以固定在三维空间中的任意一个点,并且在固定于某点后还能以三个自由度任意地旋转其方位(朝向)。当然,具体国家或地区在选择大地测量系统时,总是选择与这一国家或地区的地面最吻合的大地测量系统,而不是拍脑袋随便选的。我们拿到的境内的许多数据使用的都是“D_Xian_1980”大地测量系统,因为“D_Xian_1980”是我们依据我国疆域的地面自己定义出来的,因而较“D_WGS_1984”与我国疆域的地面更吻合。“D_WGS_1984”大地测量系统使用的椭球为“WGS_1984”,而“WGS_1984”椭球的“长半轴(Semimajor Axis)”和“短半轴(Semiminor Axis)”分别为6378137.0 和 6356752.314245179,其“反扁率(Inverse Flattening)”为 298.257223563,等于Semimajor Axis/( Semimajor Axis - Semiminor Axis)。


投影的参数对不同的投影方法有一定差别,在此也不详述各投影的具体参数。投影坐标系“ WGS_1984_UTM_Zone_50N” 使 用 的 “ 投 影 ( Projection )” 名 为 “ 横 轴 墨 卡 托(Transverse_Mercator)”,然而这个名称并不能完全准确概括其投影。事实上,投影坐标系“ WGS_1984_UTM_Zone_50N” 这 个 名 称 中 的 “WGS_1984” 指 出 了 其 地 理 坐 标 系 为“GCS_WGS_1984”,而“UTM_Zone_50N”则指出了其投影。“UTM_Zone_50N”这个名称指出,其投影方法是“通用横轴墨卡托(Universal Transverse Mercator,UTM)”,其投影带为北半球第 50 带,这个“Zone_50N”的“中央经线(Central Meridian)”正是 117.0 度,在“Transverse_Mercator”的参数中得到了体现。举一反三,“Xian_1980_GK_CM_117E”这个坐标系使用的地理坐标系为“GCS_Xian_1980”,而投影名称“GK_CM_117E”指出其使用以东经 117 度为中央经线的“高斯-克吕格(Gauss-Kruger,GK)”投影。投影的另一个重要参数是“东偏(False Easting)”。有些投影会在 X 坐标值前加上投影带号,比如:“Xian_1980_GK_Zone_20”的“false_easting”参数为 20500000.0,其中 20 为投影带号,而“Xian_1980_GK_CM_117E”的“false_easting”参数为 500000.0,尽管它们的中央经线都为东经 117 度。


2. 三个半概念

在 ArcGIS 中,有三个概念容易混淆(另外半个最后揭晓),需要特别进行区分: 

1)数据的真实坐标系,简称为真实坐标系”;

2)数据属性所标称的坐标系,简称为属性坐标系”;

3)ArcMap/ArcScene 中 Layers 的坐标系,简称为“地图坐标系”。

数据的真实坐标系是指数据记录本身所对应的坐标系。比如,国科大雁栖湖校区图书馆在地理坐标系“GCS_WGS_1984”下的经纬坐标大概为(116.679267°E,40.408265°N),在投影坐标系“WGS_1984_UTM_Zone_50N”下的平面坐标为(472786.066803m,4473121.59882m)。假如用一个 Point Shapefile 数据来记录国科大雁栖湖校区图书馆的位置。如果使用经纬坐标( 116.679267 , 40.408265 )来记录此位置,那么数据的真实坐标系就是地理坐标系GCS_WGS_1984,如果使用平面坐标(472786.066803,4473121.59882)来记录此位置,那么数据的真实坐标系就是投影坐标系 WGS_1984_UTM_Zone_50N。        

  

数据的真实坐标系是什么,可以通过以下方式进行验证。在 ArcMap 中加载这一个 Point Shapefile 数据,打开其属性表(Attribute Table),右击任意已有或新建的数值类型为 Double(或 Float)的 Filed 进行“Calculate Geometry”运算,如果数据的真实坐标系为地理坐标系GCS_WGS_1984,那么计算的“X Coordinate of Point”就为 116.679267(图 2),如果数据的真实坐标系为投影坐标系 WGS_1984_UTM_Zone_50N,那么 X 坐标值就为 472786.066803。

数据属性所标称的坐标系是指数据文件的属性所标称的坐标系。一般来说,我们有两个入口来查看数据属性所标称的坐标系一种是在 Catalog 里面右击该数据文件打开 Properties,Shapefile 文件可直接在 Properties 中查看或者修改“XY Coordinate System”,Raster 文件可以通过 Edit(编辑)“Spatial Reference”来打开“XY Coordinate System”进行查看或者修改;另一入口是当把数据加载进 ArcMap 或 ArcScene 后,在此数据的 Layer Properties 的“Source”标签中查看。第二个入口只能查看而不能修改属性坐标系。图 4 为分别在 Shapefile Properties和 Layer Properties 中查看国科大雁栖湖校区图书馆 Point Shapefile 数据的属性坐标系。

这里要特别强调的是:数据的真实坐标系和属性坐标系可以不同,当二者不同时就出现错误。例如:数据的真实坐标系为地理坐标系 GCS_WGS_1984,而属性坐标系为投影坐标系WGS_1984_UTM_Zone_50N,或真实坐标系为投影坐标系 WGS_1984_UTM_Zone_50N,而属性坐标系为地理坐标系 GCS_WGS_1984,都是错误的。类似的,数据的真实坐标系为地理坐标系 GCS_WGS_1984,而属性坐标系为地理坐标系 GCS_Xian_1980,或真实坐标系为投影坐标系 WGS_1984_UTM_Zone_50N,而属性坐标系为投影坐标系 WGS_1984_UTM_Zone_49N,也都是错误的。只要二者不统一,就是错误的。在数据处理过程中,误将属性坐标系改动,造成属性坐标系与真实坐标系不符合,是 ArcGIS 操作的常见错误。使数据的属性坐标系和真实坐标系吻合,是进行所有数据处理和分析的必要前提。

同样以国科大雁栖湖校区图书馆的 Point Shapefile 数据为示例说明真实坐标系和属性坐标系不吻合的情况。如果 Point Shapefile 数据的真实坐标系为地理坐标系 GCS_WGS_1984,而将属性坐标系设置为投影坐标系 WGS_1984_UTM_Zone_50N,图书馆点就会跑到赤道附近的印度尼西亚去(图 5)。此时,系统会认为此点在投影坐标系 WGS_1984_UTM_Zone_50N 中坐标值为(116.679267,40.408265),而在投影坐标系 WGS_1984_UTM_Zone_50N 中正确的坐标值应为(472786.066803,4473121.59882)。相反,如果 Point Shapefile 数据的真实坐标系为投影坐标系 WGS_1984_UTM_Zone_50N,而属性坐标系为地理坐标系 GCS_WGS_1984,图书馆点则会“跑出地球”。因为系统会认为此点的经纬度为(472786.066803,4473121.59882),地球上的点的经纬度值最大为 180 度,最小为-180 度,因而这两个经纬度值远远超过了 180度的最大值。

为何在实际操作中我们一般都不必检查数据的属性坐标系是否与真实坐标系吻合呢?这是因为在大多数时候,我们拿到的数据不但有属性坐标系并且还与真实坐标系是吻合的。一般来说,有两个明显的迹象可以判断数据的属性坐标系是不对的。一个是将数据加载到 ArcMap里面后报错;另外一个是数据加载到 ArcMap 里面后尽管没报错,但是位置明显不对。比如上面的例子,位于国科大的点跑到印度尼西亚去了。图 6 是将真实坐标系为投影坐标系“Asia_Lambert_Conformal_Conic”的数据的属性坐标系改为地理坐标系“GCS_WGS_1984”并加载到 ArcMap 里面后的报错信息。这个信息是说“数据的范围(extent)与其空间参考的信息不吻合”。具体来讲,投影坐标系“Asia_Lambert_Conformal_Conic”中的坐标值有负值,而负值超出了地理坐标系“GCS_WGS_1984”的范围(正值)。以下叙述,如无特别说明,都隐含数据属性坐标系与真实坐标系吻合的假设,并以“数据坐标系”统称

ArcMap/ArcScene 中 Layers 的坐标系是指当我们把若干矢量数据或栅格数据加载进 ArcMap或 ArcScene 里面组成“Layers”的时候,这个 Layers 的坐标系。“地图坐标系”在 ArcMap 中可以通过右击“Layers”打开“Data Frame Properties”后在“Coordinate System”标签中查看或者修改(图 7),在 ArcScene 中可以通过右击“Scene Layers”打开“Scene Properties”后在“Coordinate System”标签中查看或者修改。

  

可以想象,一个 Layers 可以包括多个数据 Layer,这些数据 Layer 的坐标系也可以各不相同。因此,Layers 的地图坐标系可以不同于各 Layer 的数据坐标系。可以选择 Layers 中的某一Layer 的数据坐标系作为地图坐标系,也可以选择其他任意坐标系,只要这个坐标系的覆盖范围能覆盖所有 Layer 数据的范围。当在 ArcMap 中加载多个数据 Layer 时,系统会自动将第一个加载进来的有坐标系的数据的坐标系作为 Layers 的地图坐标系。为了使所有具有不同坐标系的数据 Layer 都在同一地图坐标系下进行显示等操作,当某个 Layer 的数据坐标系与Layers 的地图坐标系不同时,系统会自动用一定的算法将数据坐标系(的坐标值)临时转换为地图坐标系(的坐标值)。这种临时的坐标系转换,并不改变每个数据本身的坐标系。


如图 8 所示:“library”、“library_utm”、“国科大 20.tif”和“World Physical Map”等四个Layer 的 数 据 坐 标 系 分 别 为 :地 理 坐 标 系 “ GCS_WGS_1984 ”、投影坐标系“WGS_1984_UTM_Zone_50N”、 投影坐标系“WGS_1984_Web_Mercator”和投影坐标系“WGS_1984_Web_Mercator_Auxiliary_Sphere”;Layers 的地图坐标系则使用了“国科大 20.tif”这一栅格 Layer 的数据坐标系(投影坐标系“WGS_1984_Web_Mercator”)。


当数据在与其坐标系不同的地图中显示时,会出现“变形”。这种变形是由“临时的坐标系转换”引起的。图 9 为使用地理坐标系“GCS_WGS_1984”作为 Layers 的地图坐标系的情况。可以看出,相较使用“国科大 20.tif”的数据坐标系(投影坐标系“WGS_1984_Web_Mercator”)作为地图坐标系,使用地理坐标系“GCS_WGS_1984”作为地图坐标系使得“国科大 20.tif”这一栅格 Layer 的变形明显,其轮廓(覆盖范围)在东西经度方向上被拉长了,在南北维度方向则被压缩了。如果不希望某个 Layer 出现变形,那么就使用该 Layer 的数据坐标系作为Layers 的地图坐标系。



如果地图坐标系与数据坐标系差别很大,数据显示的变形也会很大。图 10 为使用投影坐标系“WGS_1984_UTM_Zone_49N”作为地图坐标系的情况,图 11 为将“国科大 20.tif”Layer的右上角放大后的情况。可以看出,“国科大 20.tif”这一栅格 Layer 的变形明显,整体轮廓和每个栅格都“倾斜”了一个角度。尽管投影坐标系“WGS_1984_UTM_Zone_49N”和 “WGS_1984_UTM_Zone_50N”二者都与“国科大 20.tif”这一栅格 Layer 的数据坐标系“WGS_1984_Web_Mercator”不同。但是,试验可以发现,使用“WGS_1984_UTM_Zone_50N”作为地图坐标系的时候,“国科大 20.tif”的变形不会这么明显。原因之一是,坐标系“ WGS_1984_UTM_Zone_49N ” 中 投 影 带 的 中 央 经 线 为 111 度 , 而 坐 标 系“WGS_1984_UTM_Zone_50N”中投影带的中央经线为 117 度,后者的投影带与“国科大20.tif”的范围更符合。选择“WGS_1984_Web_Mercator”和“WGS_1984_UTM_Zone_50N”,都会使“国科大 20.tif”在投影中的变形更小。

当然,有时在地图显示中,出于合理或者美观的需要,这种“变形”是需要的。例如,我们拿到的行政边界矢量数据的坐标系是地理坐标系“GCS_Krasovsky_1940”。我们可以就使用地理坐标系“GCS_Krasovsky_1940”作为 Layers 的地图坐标系(图 12),但是这样的显示和图 9 类似地使数据在东西方向被“拉长”。使用地理坐标系作为地图坐标系,显示出来的数据与我们在多数时候看到的全国地图的“形状”有差异。当我们换为使用投影坐标系“Asia_Lambert_Conformal_Conic”作为 Layers 的地图坐标系时,显示出来的数据就与我们在多数时候看到的全国地图的“形状”相仿了(图 13)。如果数据经常需要在不同于自身坐标系的地图中显示,可使用“坐标系转换”让这种在显示中的临时性坐标系转换变成永久性的,也即改变数据本身的坐标系,这是下一节中将提到的。对于栅格数据,如图 10 和图 11 这种情况,坐标系转换后的数据在目标坐标系中显示时轮廓可能还是“倾斜”的,但数据坐标系变成目标坐标系后的新数据的每个栅格在目标坐标系中将不再“倾斜”(见 3.3 节)。

地图坐标系的重要性还体现在:在地图中编辑要素时,如果需要输入坐标值,那么此坐标值是相对于地图坐标系的。例如,在坐标系为“Asia_Lambert_Conformal_Conic”的地图中编辑坐标系为“GCS_WGS_1984”的 Point Shapefile,增加点所需输入的坐标值就不能再是该点的经纬度,而是该经纬度在坐标系“Asia_Lambert_Conformal_Conic”中对应的坐标值(图 14)。


也许你已经注意到,图 13 的地图坐标系是投影坐标系,但窗口右下角显示的坐标单位是度而不是米。类似的,图 9 的地图坐标系是地理坐标系,但窗口右下角显示的坐标单位是米而不是度。这个疑问就引出了那“半个概念”:“地图显示单位”。之所以称为“半个”是因为严格来说这不算一个可以与真实坐标系、属性坐标系和地图坐标系等并列的“概念”。地图显示单位可以在 Layers 的 Properties 中的“General”标签中进行设置(图 15)。地图单位由地图坐标系决定,地图显示单位可以与地图单位相同,也可以与地图单位不同。

本节小结:只要能做到以下“三个重要的区分”,就理解了以上“三个半概念”:1)区分数据的“真实坐标系”和“属性坐标系”; 

2)区分“数据坐标系”和“地图坐标系”; 

3)区分“地图单位”和“地图显示单位”。


3. 四类常用操作


在理解清楚了以上“三个半容易混淆的概念”的基础上,以下四类常用的坐标系操作就很好理解与熟悉了。


3.1 坐标系选择、新建与编辑

坐标系的其他操作都会涉及到选择、新建与编辑等,这些操作可在打开的数据或地图等的“Properties”窗口中的“Coordinate System”或“XY Coordinate System”标签中进行(图 16)。

用户可以从“Favorites”、“Geographic Coordinate System”、“Projected Coordinate System”和“Layers”等文件夹中选择坐标系,或使用“Import”导入其他数据的坐标系。“Layers”文件夹只有当 ArcMap 或 ArcScene 中的 Layers 加载有数据(Layer)时才会显示出来,而在ArcCatalog 中操作则不会出现。另外,使用“Clear”可以清除数据或地图的坐标系。 


用户也可以根据需要新建坐标系。图 17 为新建投影坐标系(Projected Coordinate System)的操作窗口。在这一操作窗口中,用户需要设置投影坐标系的名称(Name)、投影(Projection)、单位(Linear Unit)和地理坐标系(Geographic Coordinate System)等参数。

右击任意已有坐标系,点击“Copy and Modify”,可对已有坐标系进行编辑。3.2 坐标系定义

坐标系定义是指定义数据的属性坐标系。也即,将与数据的真实坐标系相同的坐标系赋予给数据的属性。坐标系定义可以通过两种方式来实现:一是如图 2 所示,在 Catalog 里面访问该数据的 Properties 进行修改(定义);二是使用 ArcToolbox -> Projections and Transformations -> Define Project 工具(图 18)。如果该数据已有属性坐标系,数据输入处会出现警告符号,警告用户已有属性坐标系将被覆盖。这两种坐标系定义方式的区别是:如果数据在 ArcMap或 ArcScene 中打开(被锁定)后,那么就不能在 Catalog 中改变数据的坐标系了,但是仍然可以利用 ArcToolbox 中的 Define Project 工具来定义数据的坐标系,除非这一数据同时也在另外的 ArcMap、ArcScene 或 ArcCatalog 中被打开使用。

另外,个人以为,“Define Project”工具的名称使用“Define Coordinate System”更为贴切。因为这个工具是定义坐标系(Coordinate System),而不是定义投影(Project)。有意思的是,“Define Project”工具窗口中“坐标系的输入框”的名称是“Coordinate System”,而不是“Project”(图 18)。因此,为何 ESRI 会使用“Define Project”这个工具名,颇令人费解。


3.3 坐标系转换

坐标系转换是指转换数据的真实坐标系。坐标系转换的前提是数据的属性坐标系与数据的真实坐标系吻合。矢量数据的坐标系转换通过 ArcToolbox -> Projections and Transformations -> Project 工具来实现(图 19),栅格数据的坐标系转换通过 ArcToolbox -> Projections and Transformations -> Raster -> Project Raster 工具来实现(图 20)。(注:不同 ArcGIS 版本工具在 ArcToolbox 中的位置可能略有不同,此处为 ArcGIS 10.3 中的路径)。

在选择好输入数据,并定义好输出数据及其坐标系后,用户有可能被要求定义“Geographic Transformation”。这个““Geographic Transformation”被用于两个不同地理坐标系(大地测量系统)之间的转换。只有当输入坐标系和输出坐标系拥有不同的大地测量系统时,这个输入才被要求。在某些情况下,系统会从已有的“Geographic Transformation”中根据输入和输出坐标系自动选择出合理的“Geographic Transformation”(图 20),而某些情况下则需要用户从已有的“Geographic Transformation”中进行选择(图 19)。


坐标系转换理论上可以在任意两个覆盖了数据范围的坐标系之间进行。坐标系转换可以在地理坐标系与投影坐标系之间,可以在地理坐标系与地理坐标系之间,也可以在投影坐标系与投影坐标系之间


坐标系转换包括了两种过程:1)大地测量系统(地理坐标系)转换;2)投影(或反投影)。例如,将地理坐标系“GCS_WGS_1984”转换为投影坐标系“Xian_1980_GK_CM_117E”包括 了 两 个 过 程 :分 别 是 一 个 将 大 地 测 量 系 统 “ D_WGS_1984 ” 转 换 为 大 地 测 量 系 统“D_Xian_1980” 的 过 程 和 一 个 将 地 理 坐 标 系 “GCS_Xian_1980” 投 影 为 投 影 坐 标 系“Xian_1980_GK_CM_117E”的过程。再例如,将投影坐标系“WGS_1984_Web_Mercator”转换为投影坐标系“WGS_1984_UTM_Zone_50N”包括了三个过程:分别是一个将投影坐标系“WGS_1984_Web_Mercator”转为地理坐标系“GCS_WGS_1984_Major_Auxiliary_Sphere”的过程(反投影),一个将大地测量系统“D_WGS_1984_Major_Auxiliary_Sphere”转换为大地测量系统“GCS_WGS_1984”的过程和一个将地理坐标系“GCS_WGS_1984”投影为投影坐标系“WGS_1984_UTM_Zone_50N”的过程。


栅格数据的坐标系转换与矢量数据的坐标系转换的一个重要不同是:栅格数据的坐标系转换需要设置栅格分辨率(图 21)。如果是投影坐标系之间或地理坐标系之间的转换,系统一般会默认分辨率数值不变,如果是地理坐标系与投影坐标系之间的转换,系统会自动估计出一个合理的分辨率数值。例如第 2 节中提到的 81.4520173 米对应于 0.00083333333 度,也即地理坐标系中的 0.00083333333 度对应于投影坐标系中的 81.4520173 米。由于这里的转换是对数据的真实坐标系的永久性转换,和在地图显示中的“临时性坐标转换”不同,栅格数据的坐标系转换不但使栅格数据的分辨率数值改变,也使新数据在目标坐标系中显示时其每个栅格不再“倾斜”,尽管其整体轮廓可能还是“倾斜”的(图 21)。

同样,个人以为,“Project”和“Project Raster”的工具名用“Transfer ”替代“Project”也许更为贴切。因为这两个工具做的工作是坐标系转换(Transfer),而不是投影(Project)。另外,ESRI 将用于栅格数据坐标系转换的工具命名为“Project Raster”,却不将用于矢量数据坐标系转换的工具命名为类似对应的“Project Feature”,不知有何考虑


因此,ArcGIS 中坐标系定义和转换的工具名称(包括 Define Project、Project 和 Project Raster)可能对用户使用工具和理解坐标系的有关概念有一定误导


3.4 坐标系猜测

坐标系猜测是指猜测数据的真实坐标系并且把数据的属性坐标系设置为真实坐标系。这在不知道数据的坐标系或数据的属性坐标系是错误的时候是需要的。比如,给你若干点的坐标值,但是不告诉你这些坐标值是在什么坐标系下的坐标值。在这种情况下,最好的方式是向数据的提供方询问数据的真实坐标系是什么。 

如果不得不猜测数据的真实坐标系,其基本原理是根据数据的坐标值特征来猜测。经验将会很重要。如果数据的坐标值看起来像是经纬度数值,那么认为其真实坐标系为地理坐标系“GCS_WGS_1984”将不会带来很大误差。如果数据的坐标值是地面长度(通常数值很大),那么可以基本认为其真实坐标系为投影坐标系。如果知道该数据大概的空间范围,可以找出该空间范围内的坐标系正确的任一“参考数据”,将其与属性坐标系未知的“目标数据”加载于同一地图中,并将地图坐标系设置为你怀疑的投影坐标系。当目标数据与参考数据范围吻合时,可以猜测此怀疑的投影坐标系即为目标数据的真实坐标系,并可辅以其他手段进行验证。怀疑的投影坐标系可以有很多个,选择哪些投影坐标系作为怀疑对象,需要基于经验根据数据的坐标值特征进行判断。比如,加投影带号与不加投影带号的投影坐标系中的数据X 坐标值的大小在很多时候是有明显差异的。

4. 总结

在数据分析之前,进行以下有关坐标系的准备工作是一个良好的习惯:

1)使所有数据都有坐标系定义,也即使所有数据都有属性坐标系;

2)保证所有数据的坐标系都是正确的,也即使所有数据的属性坐标系都与其真实坐标系吻合;

3)统一所有数据的坐标系,利用坐标系转换实现

并且,这种统一的坐标系一般宜为投影坐标系,因为只有在投影坐标系下才能正确地进行距离、长度、面积、坡度等度量的计算。当然,有时我们做大尺度的工作,比如进行全球尺度的显示或分析时,一般就用地理坐标系,不用投影坐标系。




完结


如果你也觉得文章很不错那就分享给小伙伴们吧



(2016 年 11 月 23 日;此为 24 日更新版)

网址:http://blog.sciencenet.cn/blog-290812-1016263.html

期待您的来访,感谢您的分享


下期见


















您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存