我国的基本比例尺地形图(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°)的25°,40°双标准纬度,原点经度110°,原点纬度10°的兰勃托投影结果为例,北京54及WGS84基准面,两者投影结果在东西方向差距约18米,南北方向差距约45米(见下表),对于几十或几百万的地图来说,这一误差无足轻重,但在工程地图中还是应该加以考虑的。
输入坐标(度) | 北京54 兰勃托投影(米) |
WGS84 兰勃投影(米) | |
纬度值(X) | 32 | 2531235 | 2531190 |
经度值(Y) | 121 | 1028805 | 1028787 |
兰勃托投影
(1)兰勃托投影性质
兰勃托(Lambert)投影,又名"等角正割圆锥投影”,由德国数学家兰勃特(J.H.Lambert)在1772年拟定。设想用一个正圆锥切于或割于球面,应用等角条件将地球面投影到圆锥面上,然后沿一母线展开,即为兰勃托投影平面。投影后纬线为同心圆弧,经线为同心圆半径。
兰勃托投影采用双标准纬线相割,与采用单标准纬线相切比较,其投影变形小而均匀,兰勃托投影的变形分布规律是:
a) 角度没有变形,即投影前后对应的微分面积保持图形相似,故亦可称为正形投影;
b) 等变形线和纬线一致,即同一条纬线上的变形处处相等;
c) 两条标准纬线上没有任何变形;
d) 在同一经线上,两标准纬线外侧为正变形(长度比大于1),而两标准纬线之间为负变形(长度比小于1)。因此,变形比较 均匀,变形绝对值也比较小;
e) 同一纬线上等经差的线段长度相等,两条纬线间的经纬线长度处处相等。
我国1:100万地形图采用了兰勃托投影,其分幅原则与国际地理学会规定的全球统一使用的国际百万分之一地图投影一致。纬度按纬差4°分带,从南到北共分成15个投影带,每个投影带单独计算坐标,每带两条标准纬线,第一标准纬线为图幅南端纬度加30′的纬线,第二标准纬线为图幅北端纬度减30′的纬线,这样处于同一投影带中的各图幅的坐标成果完全相同,不同带的图幅变形值接近相等,因此每投影带只需计算其中一幅图(纬差4°,经差6°)的投影成果即可。 由于是纬差4°分带投影的,所以当沿着纬线方向拼接地图时,不论多少图幅,均不会产生裂隙;但是,当沿着经线方向拼接时,因拼接线分别处于上下不同的投影带,投影后的曲率不同,致使拼接时产生裂隙 。
(2)兰勃托投影坐标
以图幅的原点经线(一般是中央经线)作纵坐标x轴,原点经线与原点纬线(一般是最南端纬线)的交点作为原点,过此点的切线作为横坐标y轴,构成兰勃托平面直角坐标系,此投影两标准纬线无变形。
在我国1:100万兰勃托投影地形图中,由于经纬网图形是以中央经线为轴左右对称的(原点经线选择图幅的中央经线,原点纬线选择最南端纬线)。因此,只要计算右方经差为1°、2°、3°的经纬线交点的坐标,左方的经纬线交点的坐标,只需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)输入第一标准纬度及第二标准纬度,单位度。
(5)输入原点纬度及原点经度,单位度,缺省为零。
(6)如正向投影,选择输入数据文件中的经纬度输入数据格式,有三个选项,缺省为十进制度格式。
(7)单击“批量转换”按钮。弹出打开文件对话框,输入你的数据文件名。
(8)输入转换结果文件名,单击“保存”后,程序开始进行计算。
(9)打开输出文件查看计算结果,结果分五列,第一序号,第二列输入纬度值或纵向坐标值,第三列输入经度值或横向坐标值,第四列转换后纬度值或纵向坐标值,第五列转换后经度值或横向坐标值。
下例为度分秒格式(WGS84)的25°,40°双标准纬度,原点经度110°,原点纬度10°的正投影转换结果数据文件 result.txt
1 350000 1220000 2869187.6 1084769.1
2 351600.519 1225959.506 2908969.7 1171137.8
3 345800.101 1225959.8 2876173.4 1175175.2
4 343600.336 1230000.26 2836123.8 1180108.2
5 341400.018 1225959.897 2796066.3 1185021.2
6 335159.17 1225959.46 2756002.2 1189933.1
7 333000.08 1230000.28 2716003.3 1194869.2
8 332300.674 1232000.103 2707084.4 1226946