本程序可用于不同基准面上单点及批量数据的UTM与墨卡托投影正、反转换,编制初衷是为了多波束水深调查数据的UTM投影向墨卡托投影转换,因此批量转换的数据格式为经度、纬度、水深。使用过程中如遇budge可以通过Email联系,Email地址:qddqinfen@cgs.gov.cn
。
选择投影的目的在于使所选投影的性质、特点适合于地图的用途,同时考虑地图在图廓范围内变形较小而且变形分布均匀。
我国的基本比例尺地形图(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椭球体,它是一地心坐标系,即以地心作为椭球体中心的坐标系。相对同一地理位置,不同的大地基准面,它们的经纬度坐标是有差异的。需要说明的是,在“常用地图投影系列小程序”中,程序界面上的所谓“北京1954“西安1980”及“WGS
84”在实际计算中只涉及了相应的椭球体参数,与实际基准面无关。
本程序中采用的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坐标控制点计算,计算方法有“三参数莫洛金斯基(Molodenski)”法,“七参数布尔莎(Bursa-Wolf)”法,及多项式或线性转换等。
以(32°,121°)的30°标准纬度墨卡托投影结果为例,北京54及WGS84基准面,两者投影结果在东西方向差距约196米,南北方向差距约57米(见下表),对于几十或几百万的地图来说,这一误差无足轻重,但在工程地图中还是应该加以考虑的,西安80与WGS84投影结果非常接近。
| 输入坐标(度) |
北京54 墨卡托(米) |
西安80 墨卡托(米) | WGS84 墨卡托(米) | |
| 纬度值(X) | 32 | 3242287 | 3242231 | 3242230 |
| 经度值(Y) | 121 | 11675036 | 11674845 | 11674840 |
(1)墨卡托投影性质
墨卡托(Mercator)投影,是一"等角正轴圆柱投影”,荷兰地图学家墨卡托(Gerhardus Mercator 1512-1594)在1569年拟定,假设地球被围在一中空的圆柱里,其标准纬线与圆柱相切接触,然后再假想地球中心有一盏灯,把球面上的图形投影到圆柱体上,再把圆柱体展开,这就是一幅选定标准纬线的“墨卡托投影”绘制出的世界地图。
墨卡托投影没有角度变形,由每一点向各方向的长度比相等,它的经纬线都是平行直线,且相交成直角,经线间隔相等,纬线间隔从标准纬线向两极逐渐增大。墨卡托投影的地图上长度和面积变形明显,标准纬线无变形,从标准纬线向两极变形逐渐增大,但因为它具有各个方向均等扩大的特性,保持了方向和相互位置关系的正确。在地图上保持方向和角度的正确是墨卡托投影的优点,墨卡托投影地图常用作航海图和航空图,如果循着墨卡托投影图上两点间的直线航行,方向不变可以一直到达目的地,因此它对船舰在航行中定位、确定航向都具有有利条件,给航海者带来很大方便。
“海底地形图编绘规范”(GB/T 17834-1999,海军航保部起草)中规定1:25万及更小比例尺的海图采用墨卡托投影,其中基本比例尺海底地形图(1:5万,1:25万,1:100万)采用统一基准纬线30°,非基本比例尺图以制图区域中纬为基准纬线。基准纬线取至整度或整分。
(2)墨卡托投影坐标系
取零子午线或自定义原点经线与赤道交点的投影为原点,零子午线或自定义原点经线的投影为纵坐标X轴,赤道的投影为横坐标Y轴,构成墨卡托平面直角坐标系,此投影标准纬线无变形。
(1)UTM投影性质
UTM投影全称为“通用横轴墨卡托投影”,是一种“等角横轴割圆柱投影”,椭圆柱割地球于南纬80度、北纬84度两条等高圈,投影后两条相割的经线上没有变形,而中央经线上长度比0.9996。UTM投影是为了全球战争需要创建的,美国于1948年完成这种通用投影系统的计算。与高斯-克吕格投影相似,该投影角度没有变形,中央经线为直线,且为投影的对称轴,中央经线的比例因子取0.9996是为了保证离中央经线左右约330km处有两条不失真的标准经线。
(2)UTM投影分带
UTM投影分带方法与高斯-克吕格投影相似,不过是自西经180°起每隔经差6度自西向东分带,将地球划分为60个投影带。高斯-克吕格投影的第1带是UTM的第31带。
(3)UTM投影坐标系
UTM投影按分带方法各自进行投影,故各带坐标成独立系统。以中央经线(L0)投影为纵轴X, 赤道投影为横轴Y,两轴交点即为各带的坐标原点。为了避免横坐标出现负值,UTM北半球投影中规定将坐标纵轴西移500公里当作起始轴,而UTM南半球投影除了将纵轴西移500公里外,横轴南移10000公里。根据使用习惯高斯-克吕格投影横轴坐标前一般加带号,而UTM投影不加带号。
(4)UTM投影与高斯-克吕格投影
UTM投影(Universal Transverse Mercator,通用横轴墨卡托投影)与高斯-克吕格(Gauss-Kruger)投影都是横轴墨卡托投影的变种,目前一些国外的软件或国外进口仪器的配套软件往往不支持高斯-克吕格投影,但支持UTM投影,因此常有把UTM投影当作高斯-克吕格投影的现象。
从投影几何方式看,高斯-克吕格投影是“等角横切圆柱投影”,投影后中央经线保持长度不变,即比例系数为1;UTM投影是“等角横轴割圆柱投影”,圆柱割地球于南纬80度、北纬84度两条等高圈,投影后两条割线上没有变形,中央经线上长度比0.9996。从计算结果看,两者主要差别在比例因子上,高斯-克吕格投影中央经线上的比例系数为1, UTM投影为0.9996,高斯-克吕格投影与UTM投影可近似采用 X[UTM]=0.9996 * X[高斯],Y[UTM]=0.9996 * Y[高斯],进行坐标转换(见下表)。从分带方式看,两者的分带起点不同,高斯-克吕格投影自0度子午线起每隔经差6度自西向东分带,第1带的中央经度为3°;UTM投影自西经180°起每隔经差6度自西向东分带,第1带的中央经度为-177°,因此高斯-克吕格投影的第1带是UTM的第31带。此外,两投影的东伪偏移都是500公里,高斯-克吕格投影北伪偏移为零,UTM北半球投影北伪偏移为零,南半球则为10000公里。
高斯-克吕格投影与UTM投影可近似采用 Xutm=0.9996 * X高斯,Yutm=0.9996 * Y高斯进行坐标转换。以下举例说明(基准面为WGS84,中央经度为123°):
| 输入坐标(度) | 高斯投影(米) | UTM投影(米) |
Xutm=0.9996 * X高斯, Yutm=0.9996 * Y高斯 |
|
| 纬度值(X) | 32 | 3543600.9 | 3542183.5 | 3543600.9*0.9996 ≈ 3542183.5 |
| 经度值(Y) | 121 | 21310996.8 | 311072.4 | (310996.8-500000)*0.9996+500000 ≈ 311072.4 |
注:坐标点(32,121)位于高斯投影的21带,高斯投影Y值21310996.8中前两位“21”为带号;坐标点(32,121)位于UTM投影的51带,上表中UTM投影的Y值没加带号。因坐标纵轴西移了500000米,转换时必须将Y值减去500000乘上比例因子后再加500000。
(1)单点转换
单点转换步骤如下:
(1)选择是UTM转向墨卡托投影,还是墨卡托转向UTM投影,缺省为UTM转向墨卡托投影。
(2)选择大地基准面,缺省WGS84,也就是GPS定位数据的大地基准面。
(3)输入UTM中央经度,单位度。
(4)输入墨卡托标准纬度与原点经度,单位度。
(5)在“输入”栏输入经纬度坐标值,投影坐标单位为米。
(7)单击“单点转换”按钮。
(8)在“输出”栏查看计算结果,投影坐标单位为米。
(2)批量转换
批量转换步骤如下:
(1)准备好需要转换的输入数据文件,要求是文本文件,分三列,第一列经度值或横向坐标值,第二列纬度值或纵向坐标值,第三列水深值,各列之间用分隔符分开,坐标单位要求为米。
下例为UTM转向墨卡托投影的输入数据文件 testdata.txt
624274.87 4232001.97 5.79
624274.58 4231999.95 5.88
624274.56 4231999.81 5.86
624274.55 4231999.82 5.91
624274.53 4231999.78 6.01
624274.53 4231999.83 6.08
624274.44 4231998.95 5.85
624274.43 4231998.91 5.87
624274.42 4231998.91 5.92
624274.42 4231998.89 5.94
624274.42 4231998.86 5.98
624274.4 4231998.84 6.01
624274.39 4231998.77 6.03
624274.38 4231998.65 6.01
624274.35 4231998.27 5.89
624274.34 4231998.21 5.89
624274.33 4231998.12 5.9
624274.32 4231998.05 5.9
624274.31 4231997.99 5.92
624274.29 4231997.96 5.94
(2)选择是UTM转向墨卡托投影,还是墨卡托转向UTM投影,缺省为UTM转向墨卡托投影。
(3)选择大地基准面,缺省WGS84,也就是GPS定位数据的大地基准面。
(4)输入UTM中央经度,单位度。
(5)输入墨卡托标准纬度与原点经度,单位度。
(6)单击“批量转换”按钮。弹出打开文件对话框,输入你的数据文件名。
(7)输入转换结果文件名,单击“保存”后,程序开始进行计算。
(8)打开输出文件查看计算结果,结果分三列,第一列转换后的经度值或横向坐标值,第二列转换后的纬度值或纵向坐标值,第三列水深值,各列之间用制表符分开,坐标单位为米。
下列为上例的投影转换结果数据文件 result.txt
10258284.56 3568071.99 5.79
10258284.24 3568070.00 5.88
10258284.22 3568069.86 5.86
10258284.21 3568069.87 5.91
10258284.19 3568069.83 6.01
10258284.19 3568069.88 6.08
10258284.09 3568069.01 5.85
10258284.08 3568068.97 5.87
10258284.07 3568068.97 5.92
10258284.07 3568068.95 5.94
10258284.07 3568068.92 5.98
10258284.05 3568068.90 6.01
10258284.04 3568068.83 6.03
10258284.02 3568068.72 6.01
10258283.99 3568068.34 5.89
10258283.98 3568068.28 5.89
10258283.97 3568068.19 5.90
10258283.96 3568068.12 5.90
10258283.94 3568068.06 5.92
10258283.92 3568068.03 5.94
(3)UTM到经纬度转换
(1)准备好需要转换的输入数据文件,要求是文本文件,分四列,第一列UTM横向坐标值,第二列UTM纵向坐标值Y,第三列水深值,第四列其它(有无均可),各列之间用分隔符分开,坐标单位要求为米。
下例为UTM转向经纬度的输入数据文件 testdata1.txt
624274.87 4232001.97 5.79 0.10
624274.58 4231999.95 5.88 2.14
624274.56 4231999.81 5.86 2.29
624274.55 4231999.82 5.91 2.28
624274.53 4231999.78 6.01 2.32
624274.53 4231999.83 6.08 2.27
624274.44 4231998.95 5.85 3.15
624274.43 4231998.91 5.87 3.19
624274.42 4231998.91 5.92 3.20
624274.42 4231998.89 5.94 3.22
624274.42 4231998.86 5.98 3.25
624274.40 4231998.84 6.01 3.27
624274.39 4231998.77 6.03 3.34
624274.38 4231998.65 6.01 3.46
624274.35 4231998.27 5.89 3.84
624274.34 4231998.21 5.89 3.90
624274.33 4231998.12 5.90 3.99
624274.32 4231998.05 5.90 4.06
624274.31 4231997.99 5.92 4.12
624274.29 4231997.96 5.94 4.15
(2)选择是UTM转向经纬度。
(3)选择大地基准面,缺省WGS84,也就是GPS定位数据的大地基准面。
(4)输入UTM中央经度,单位度。
(5)单击“批量转换”按钮。弹出打开文件对话框,输入你的数据文件名。
(7)输入转换结果文件名,单击“保存”后,程序开始进行计算。
(8)打开输出文件查看计算结果,结果分三列,第一列转换后的纬度值,第二列转换后的经度值,第三列水深值,各列之间用制表符分开。
下列为上例的投影转换结果数据文件 result1.txt
38.227427 118.419836 5.79
38.227409 118.419832 5.88
38.227408 118.419832 5.86
38.227408 118.419832 5.91
38.227408 118.419832 6.01
38.227408 118.419832 6.08
38.227400 118.419831 5.85
38.227400 118.419831 5.87
38.227400 118.419830 5.92
38.227400 118.419830 5.94
38.227399 118.419830 5.98
38.227399 118.419830 6.01
38.227399 118.419830 6.03
38.227397 118.419830 6.01
38.227394 118.419830 5.89
38.227394 118.419829 5.89
38.227393 118.419829 5.90
38.227392 118.419829 5.90
38.227392 118.419829 5.92
38.227391 118.419829 5.94