坐标系、坐标参照系、坐标变换、投影变换
在《地图投影为什么》一文,我大略说了下为什么需要地图投影,投影坐标系需要哪些参数,这些参数(如椭球体、基准等)是做什么的。这篇就深入的谈些地图投影相关的一些概念,各种定义参考OGC标准《Spatial Reference by Coordinates》。进一步的话会介绍下开源投影库和商业软件投影相关的知识。
坐标系(coordinate system、CS):由两个、三个甚至更多个坐标轴,单位标度等组成,使得可利用数学法则计算距离、角度或其他几何元素。如坐标轴相互垂直的笛卡尔(Cartesian)坐标系;坐标轴不必相互垂直的仿射(affine)坐标系;用经纬度、高程来确定点位置的椭球面(ellipsoidal)坐标系等。
坐标参照系(coordinate reference system、CRS):通过基准面(datum)与真实世界或者说地球相关联的坐标系即坐标参照系。基准面是椭球体用来逼近某地区用的,因此各个国家都有各自的基准面。我们常用的基准面有:BEIJING1954,XIAN1980,WGS1984等。尽管两者有所不同,但由于人懒,在GIS中提及坐标系一般也指坐标参照系。坐标参照系有许多主要子类和辅助类,例如地理坐标系、投影坐标系、地心坐标系、时间坐标系等。
地心坐标系(geocentric cs、GEOCCS):以地球中心为原点,直接用X、Y、Z来进行位置的描述,无需模拟地球球面,常用在GPS中。
地理坐标系(geographic cs、GEOGCS):带Datum的椭球面坐标系,单位经度、纬度,高程用作第三维。参数:椭球体、基准面。
投影坐标系(projected cs、PROJCS):平面坐标系,单位米、英尺等,它用X(Easting)、Y(Northing)来描述地球上某个点的位置。它对应于某个地理坐标系,在UML中表示属于1对多的关系,1个地理坐标系经过不同的投影方式可产生多个投影坐标系。参数:地理坐标系、投影方式。
坐标操作(coordinate operation):从一个坐标参照系到另一个一对一的坐标改变(change)。包含坐标转换(coordinate conversion)和坐标变换(coordinate transformation),坐标转换两个坐标参照系是基于同一个Datum的,而坐标变换前后的基准面不相同。由于历史原因(?),名字和实际含义混淆着用了,在进行坐标操作的时候需要注意。
上述坐标操作的介绍来源于OGC文件,实际上更易于理解的是另外一种分类方法:地理变换和投影变换。地理变换是在地理坐标系之间的进行数据转换的方法,基准可能不同,有三参数和七参数法。当系统所使用的数据来自不同的地图投影,则需要将一种投影的数据转换成另一种投影,这就需要进行投影变换。