地图投影变换中的问题解决方案
一、问题背景
我们在日常工作中需要对JPG地图进行矢量化,对地理坐标点的连线成面积等操作。然而在矢量化或shp编辑完成后往往会出现矢量化图层与目标图层不重叠的情况,即使定义了相同的地理坐标与投影坐标,如下图所示。我们就上述情况作出探讨。
二、问题基础:了解两个概念
1、地理坐标系统(Geographic coordinate system,Geographic coordinate system),是以经纬度为地图的存储单位的。很明显,Geographic coordinate system是球面坐标系统。由于地球是一个不规则的椭球,我们要将地球上的数字化信息存放到球面坐标系统上,首先需要对地球的形状进行模拟,模拟的结果行程不同的椭球面(ellipsoid)。这些椭球体可以量化计算,具有长半轴、短半轴、偏心率等参数。然而有了这个椭球体以后还不够,还需要一个大地基准面将这个椭球体定位。大地基准面(Datum)是利用特定椭球体对特定地区地球表面的逼近,因此每个国家或地区均有各自的大地基准面,我们通常所谓的北京54坐标系、西安80坐标系实际上指的是我国两个大地基准面。
我国参照前苏联从1953年起采用克拉索夫斯基(Krassovsky)椭球体建立了我国的北京54坐标系,1978年采用了国际大地测量协会推荐的LAG75地球椭球体建立了我国新的大地坐标系——西安80坐标系。目前GPS定位所得出的结果都属于WGS84坐标系统,WGS84基准面采用WGS84椭球体,它是一个地心坐标系,即以地心作为椭球体中心的坐标系。因此相对于同一地理位置,不同的大地基准面,他们的经纬度坐标是有差异的。
椭球体与大地基准面直接的关系是一对多的关系,也就是说基准面是在椭球体的基础上建立的,但椭球体不能代表基准面,同样的椭球体能定义不同的基准面。
2、投影坐标系统(Projection coordinate system),将地球椭球面上的地理坐标转化为平面直角坐标的系统。用某种投影条件将投影圆面上的地理坐标点一一投影到平面坐标系内,以构成某种地图投影。
地理坐标描述的是地物在球面坐标系中的三维坐标,而遥感影像不论是在获取的过程中,还是在后续的应用中,都是地面景观的一种平面表现形式,是二维的。为了用这种二维的影像表现三维的地面信息,需要将地球表面上的点转换到平面上,这就涉及投影坐标系统。按形变的性质,地图投影可分为三类:等角投影、等积投影和任意投影。
投影需要一个基准地理坐标系,投影操作都基于这个坐标系所确定的椭球和大地基准面进行。
三、问题实例
我们以坐标点构建多边形为例,对该问题进行实例化。
1、首先建立shp图层。笔者为了更好的演示该问题,在建立多边形图层时不定义坐标系及投影。
2、对坐标点连线成多边形。对该多边形图层进行编辑,利用坐标点连线生成多边形图层。
3、对该多边形图层定义坐标系。选择WGS84。
4、打开该图层属性表,添加字段后,发现该图层面积周长等几何计算被禁用。其原因在于,该图层只定义了地理坐标系,而未定义投影坐标系,缺少三维向二维转换的系统。
5、调用投影工具。对该图层进行投影操作,输出坐标系中选择与目标图层相同的投影。
6、生成的图层与目标图层能够叠加显示,并且能够计算其几何特征。
四、问题讨论
1、两个图层不能叠加显示还有数据框坐标系的设置原因。左图显示两图层不能叠加,笔者将数据框的坐标系设置为目标图层的坐标系后(右图),两图层可以叠加显示(下图)。
2、矢量化后的数据笔者并未进行测试,待随后补充。
|