地图投影的选择
选择投影的目的在于使所选投影的性质、特点适合于地图的用途,同时考虑地图在图廓范围内变形较小而且变形分布均匀。海域使用的地图多采用保角投影,因其能保持方位角度的正确。
我国的基本比例尺地形图(1:5千,1:1万,1:2.5万,1:5万,1:10万,1:25万,1:50万,1:100万)中,大于等于50万的均采用高斯-克吕格投影(Gauss-Kruger),这是一个等角横切椭圆柱投影,又叫横轴墨卡托投影(Transverse Mercator);小于50万的地形图采用等角正轴割园锥投影,又叫兰勃特投影(Lambert Conformal Conic);海上小于50万的地形图多用等角正轴圆柱投影,又叫墨卡托投影(Mercator)。一般应该采用与我国基本比例尺地形图系列一致的地图投影系统。
大地基准面的选择
地图坐标系由大地基准面和地图投影确定,大地基准面是利用特定椭球体对特定地区地球表面的逼近,因此每个国家或地区均有各自的大地基准面,我们通常称谓的北京54坐标系、西安80坐标系实际上指的是我国的两个大地基准面。我国参照前苏联从1953年起采用克拉索夫斯基(Krassovsky)椭球体建立了我国的北京54坐标系,1978年采用国际大地测量协会推荐的IAG 75地球椭球体建立了我国新的大地坐标系--西安80坐标系, 目前GPS定位所得出的结果都属于WGS84坐标系统,WGS84基准面采用WGS84椭球体,它是一地心坐标系,即以地心作为椭球体中心的坐标系。因此相对同一地理位置,不同的大地基准面,它们的经纬度坐标是有差异的。
本程序中采用的3个椭球体参数如下(源自“全球定位系统测量规范 GB/T 18314-2001”):
椭球体
长半轴
短半轴
Krassovsky
6378245
6356863.0188
IAG 75
6378140
6356755.2882
WGS 84
6378137
6356752.3142
椭球体与大地基准面之间的关系是一对多的关系,也就是基准面是在椭球体基础上建立的,但椭球体不能代表基准面,同样的椭球体能定义不同的基准面,如前苏联的Pulkovo 1942、非洲索马里的Afgooye基准面都采用了Krassovsky椭球体,但它们的大地基准面显然是不同的。在目前的GIS商用软件中,大地基准面都通过当地基准面向WGS84的转换7参数来定义,即三个平移参数ΔX、ΔY、ΔZ表示两坐标原点的平移值;三个旋转参数εx、εy、εz表示当地坐标系旋转至与地心坐标系平行时,分别绕Xt、Yt、Zt的旋转角;最后是比例校正因子,用于调整椭球大小。北京54、西安80相对WGS84的转换参数至今没有公开,实际工作中可利用工作区内已知的北京54或西安80坐标控制点进行与WGS84坐标值的转换,在只有一个已知控制点的情况下(往往如此),用已知点的北京54与WGS84坐标之差作为平移参数,当工作区范围不大时,如青岛市,精度也足够了。
以(32°,121°)的30°标准纬度墨卡托投影结果为例,北京54及WGS84基准面,两者投影结果在东西方向差距约196米,南北方向差距约57米(见下表),对于几十或几百万的地图来说,这一误差无足轻重,但在工程地图中还是应该加以考虑的。
输入坐标(度)
北京54 墨卡托投影(米)
WGS84 墨卡托投影(米)
纬度值(X)
32
3242287
3242230
经度值(Y)
121
11675036
11674840
墨卡托投影
(1)墨卡托投影性质
墨卡托(Mercator)投影,又名"等角正轴圆柱投影”,荷兰地图学家墨卡托(Gerhardus Mercator 1512-1594)在1569年拟定,假设地球被围在一中空的圆柱里,其赤道与圆柱相接触,然后再假想地球中心有一盏灯,把球面上的图形投影到圆柱体上,再把圆柱体展开,这就是一幅标准纬线为零的“墨卡托投影”绘制出的世界地图。
墨卡托投影没有角度变形,由每一点向各方向的长度比相等,它的经纬线都是平行直线,且相交成直角,经线间隔相等,纬线间隔从标准纬线向两极逐渐增大。墨卡托投影的地图上长度和面积变形明显,标准纬线无变形,从标准纬线向两极变形增大,但因为它具有各个方向均等扩大的特性,保持了方向和相互位置关系的正确。在地图上保持方向和角度的正确是墨卡托投影的优点,墨卡托投影地图常用作航海图和航空图,如果循着墨卡托投影图上两点间的直线航行,方向不变可以一直到达目的地,因此它对船舰在航行中定位、确定航向都具有有利条件,给航海者带来很大方便。
(2)墨卡托投影坐标
取零子午线或自定义原点经线与赤道交点的投影为原点,零子午线或自定义原点经线的投影为纵坐标x轴,赤道的投影为横坐标y轴,构成墨卡托平面直角坐标系,此投影标准纬线无变形。
单点转换
单点转换步骤如下:
(1)选择是墨卡托正转换还是反转换,缺省为经纬度转换到墨卡托投影坐标,投影坐标单位为米。
(2)选择大地基准面,缺省北京54,如果是GPS定位数据别忘了切换为WGS84。
(3)输入标准纬度,单位度。
(4)输入原点经度,单位度,缺省为零。
(5)如正向投影,选择经纬度输入数据格式,有三个选项,缺省为十进制度格式。具体输入方式如下例:
格 式
原始纬度值
原始经度值
输入纬度值
输入经度值
十进制度
35.445901°
122.997344°
35.445901
122.997344
度分
35°26.7541′
122°59.8406′
3526.7541
12259.8406
度分秒
35°26′45.245″
122°59′50.438″
352645.245
1225950.438
(6)正投影按选定格式在“输入”栏输入经纬度值,反投影输入以米为单位的X、Y坐标值。
(7)单击“单点转换”按钮。
(8)在“输出”栏查看计算结果。
批量转换
批量转换步骤如下:
(1)准备好需要转换的输入数据文件,要求是文本文件,分两列,第一列纬度值或纵向坐标值,第二列经度值或横向坐标值,两列之间用空格分开。正向投影时,纬度值及经度值格式可以有三种选择(见表),缺省当作十进制度处理;反向投影时,纵向及横向坐标值必须以米为单位。
下例为度分秒格式(WGS84)的墨卡托正投影输入数据文件 testdata.txt
350000.000 1220000.000
351600.519 1225959.506
345800.101 1225959.8
343600.336 1230000.26
341400.018 1225959.897
335159.17 1225959.46
333000.08 1230000.28
332300.674 1232000.103
(2)选择是墨卡托正转换还是反转换,缺省为经纬度转换到墨卡托投影坐标,投影坐标单位为米。
(3)选择大地基准面,缺省北京54,如果是GPS定位数据别忘了切换为WGS84。
(4)输入标准纬度,单位度,如“30”,表示标准纬度30°。
(5)输入原点经度,单位度,缺省为零。
(6)如正向投影,选择输入数据文件中的经纬度输入数据格式,有三个选项,缺省为十进制度格式。
(7)单击“批量转换”按钮。弹出打开文件对话框,输入你的数据文件名。
(8)输入转换结果文件名,单击“保存”后,程序开始进行计算。
(9)打开输出文件查看计算结果,结果分五列,第一序号,第二列输入纬度值或纵向坐标值,第三列输入经度值或横向坐标值,第四列转换后纬度值或纵向坐标值,第五列转换后经度值或横向坐标值。
下例为度分秒格式(WGS84)的标准纬度30°,原点经度0°的正投影转换结果数据文件 result.txt
1 350000 1220000 3587805.5 11771326.2
2 351600.519 1225959.506 3619142.9 11867799.2
3 345800.101 1225959.8 3583901 11867807.1
4 343600.336 1230000.26 3541028.3 11867819.4
5 341400.018 1225959.897 3498328.2 11867809.7
6 335159.17 1225959.46 3455798.3 11867798
7 333000.08 1230000.28 3413508.8 11867820
8 332300.674 1232000.103 3400100.7 11899977.3