常用地图投影算法 |
关键字:地图投影,算法 原作者:青岛海洋地质研究所 戴勤奋 发布:netasp 日期:2006-06-02 08:33 |
最近几乎天天都有Email跟我要这样、那样的坐标系转换或投影转换公式,或问我编的投影程序公式是哪来的,有没有专门介绍投影公式的书等等,让我越来越觉得有必要就此方面写点东西,一来我自己总结一下,二来对那些我没有回Email的同行也有个交代,因为那些公式实在太难敲了。我在“海洋地质制图常用地图投影系列小程序”(
http://www.gissky.net/)中用的公式来自我原来的积累,同时参考了POSC(
http://www.posc.org/ ,国际石油技术软件开放公司)的文献“Coordinate Conversions and Transformation including Formulas”,该文献由EPSG(
http://www.epsg.org/ ,欧洲石油勘探组)编写,比较全面地介绍了各种地图投影与坐标系的转换方法及计算公式,而且最新更新到了2004年,是我目前看到的最全面、最新的相关文档了,只不过是英文的,我正在打算将它们翻成中文,到时与大家共享。
投影计算公式往往表达方式不止一种,有时很难分辨谁对谁错,我只把“墨卡托投影”、“高斯-克吕格投影”、“UTM投影”、“兰勃特等角投影” (1:100万地形图规范中称作正轴等角圆锥投影,GB/T 14512-93)的正反转换公式列出,因为我基本能保证这些公式的正确性。
“海洋地质制图常用地图投影系列小程序”(
http://www.gissky.net/)已升级,原下载者请注意下载更新版本。
1. 约定
本文中所列的转换公式都基于椭球体
a -- 椭球体长半轴
b -- 椭球体短半轴
f -- 扁率
![]()
e -- 第一偏心率
![]()
e’ -- 第二偏心率
![]()
N -- 卯酉圈曲率半径
![]()
R -- 子午圈曲率半径
![]()
B -- 纬度,L -- 经度,单位弧度(RAD)
![]() ![]()
2. 椭球体参数
我国常用的3个椭球体参数如下(源自“全球定位系统测量规范 GB/T 18314-2001”):
需要说明的是,在“海洋地质制图常用地图投影系列小程序”中,程序界面上的所谓“北京1954“西安1980”及“WGS 84”在实际计算中只涉及了相应的椭球体参数。
3. 墨卡托(Mercator)投影
3.1 墨卡托投影简介
墨卡托(Mercator)投影,是一种"等角正切圆柱投影”,荷兰地图学家墨卡托(Gerhardus Mercator 1512-1594)在1569年拟定, 假设地球被围在一中空的圆柱里,其标准纬线与圆柱相切接触,然后再假想地球中心有一盏灯,把球面上的图形投影到圆柱体上,再把圆柱体展开,这就是一幅选定标准纬线上的“墨卡托投影”绘制出的地图。
墨卡托投影没有角度变形,由每一点向各方向的长度比相等,它的经纬线都是平行直线,且相交成直角,经线间隔相等,纬线间隔从标准纬线向两极逐渐增大。墨卡托投影的地图上长度和面积变形明显,但标准纬线无变形,从标准纬线向两极变形逐渐增大,但因为它具有各个方向均等扩大的特性,保持了方向和相互位置关系的正确。
在地图上保持方向和角度的正确是墨卡托投影的优点,墨卡托投影地图常用作航海图和航空图,如果循着墨卡托投影图上两点间的直线航行,方向不变可以一直到达目的地,因此它对船舰在航行中定位、确定航向都具有有利条件,给航海者带来很大方便。
“海底地形图编绘规范”(GB/T 17834-1999,海军航保部起草)中规定1:25万及更小比例尺的海图采用墨卡托投影,其中基本比例尺海底地形图(1:5万,1:25万,1: 100万)采用统一基准纬线30°,非基本比例尺图以制图区域中纬为基准纬线。基准纬线取至整度或整分。
3.2 墨卡托投影坐标系
取零子午线或自定义原点经线(L0)与赤道交点的投影为原点,零子午线或自定义原点经线的投影为纵坐标X轴,赤道的投影为横坐标Y轴,构成墨卡托平面直角坐标系。
3.3 墨卡托投影正反解公式
墨卡托投影正解公式:(B,L)→(X,Y),标准纬度B0,原点纬度 0,原点经度L0
![]()
墨卡托投影反解公式:(X,Y) →(B,L),标准纬度B0,原点纬度 0,原点经度L0
![]()
公式中EXP为自然对数底,纬度B通过迭代计算很快就收敛了。
4. 高斯-克吕格(Gauss-Kruger)投影和UTM(Universal Transverse Mercator)投影
4.1 高斯-克吕格投影与UTM投影异同
高斯-克吕格(Gauss-Kruger)投影与UTM投影(Universal Transverse Mercator,通用横轴墨卡托投影)都是横轴墨卡托投影的变种,目前一些国外的软件或国外进口仪器的配套软件往往不支持高斯-克吕格投影,但支持 UTM投影,因此常有把UTM投影当作高斯-克吕格投影的现象。从投影几何方式看,高斯-克吕格投影是“等角横切圆柱投影”,投影后中央经线保持长度不变,即比例系数为1;UTM投影是“等角横轴割圆柱投影”,圆柱割地球于南纬80度、北纬84度两条等高圈,投影后两条割线上没有变形,中央经线上长度比 0.9996。从计算结果看,两者主要差别在比例因子上,高斯-克吕格投影中央经线上的比例系数为1, UTM投影为0.9996,高斯-克吕格投影与UTM投影可近似采用 X[UTM]=0.9996 * X[高斯],Y[UTM]=0.9996 * Y[高斯],进行坐标转换(注意:如坐标纵轴西移了500000米,转换时必须将Y值减去500000乘上比例因子后再加500000)。从分带方式看,两者的分带起点不同,高斯-克吕格投影自0度子午线起每隔经差6度自西向东分带,第1带的中央经度为3°;UTM投影自西经180°起每隔经差6度自西向东分带,第1带的中央经度为-177°,因此高斯-克吕格投影的第1带是UTM的第31带。此外,两投影的东伪偏移都是500公里,高斯-克吕格投影北伪偏移为零,UTM北半球投影北伪偏移为零,南半球则为10000公里。
4.2 高斯-克吕格投影简介
高斯-克吕格(Gauss-Kruger)投影,是一种“等角横切圆柱投影”。德国数学家、物理学家、天文学家高斯(Carl Friedrich Gauss,1777一 1855)于十九世纪二十年代拟定,后经德国大地测量学家克吕格(Johannes Kruger,1857~1928)于 1912年对投影公式加以补充,故名。设想用一个圆柱横切于球面上投影带的中央经线,按照投影带中央经线投影为直线且长度不变和赤道投影为直线的条件,将中央经线两侧一定经差范围内的球面正形投影于圆柱面。然后将圆柱面沿过南北极的母线剪开展平,即获高斯一克吕格投影平面。
高斯一克吕格投影后,除中央经线和赤道为直线外,其他经线均为对称于中央经线的曲线。高斯-克吕格投影没有角度变形,在长度和面积上变形也很小,中央经线无变形,自中央经线向投影带边缘,变形逐渐增加,变形最大处在投影带内赤道的两端。由于其投影精度高,变形小,而且计算简便(各投影带坐标一致,只要算出一个带的数据,其他各带都能应用),因此在大比例尺地形图中应用,可以满足军事上各种需要,并能在图上进行精确的量测计算。
按一定经差将地球椭球面划分成若干投影带,这是高斯投影中限制长度变形的最有效方法。分带时既要控制长度变形使其不大于测图误差,又要使带数不致过多以减少换带计算工作,据此原则将地球椭球面沿子午线划分成经差相等的瓜瓣形地带,以便分带投影。通常按经差6度或3度分为六度带或三度带。六度带自 0度子午线起每隔经差6度自西向东分带,带号依次编为第 1、2…60带。三度带是在六度带的基础上分成的,它的中央子午线与六度带的中央子午线和分带子午线重合,即自 1.5度子午线起每隔经差3度自西向东分带,带号依次编为三度带第 1、2…120带。我国的经度范围西起 73°东至135°,可分成六度带十一个,各带中央经线依次为75°、81°、87°、……、117°、123°、129°、135°,或三度带二十二个。
我国大于等于50万的大中比例尺地形图多采用六度带高斯-克吕格投影,三度带高斯-克吕格投影多用于大比例尺测图,如城建坐标多采用三度带的高斯-克吕格投影。
4.3 UTM投影简介
UTM投影全称为“通用横轴墨卡托投影”,是一种“等角横轴割圆柱投影”,椭圆柱割地球于南纬80度、北纬84度两条等高圈,投影后两条相割的经线上没有变形,而中央经线上长度比0.9996。UTM投影是为了全球战争需要创建的,美国于1948年完成这种通用投影系统的计算。与高斯-克吕格投影相似,该投影角度没有变形,中央经线为直线,且为投影的对称轴,中央经线的比例因子取0.9996是为了保证离中央经线左右约330km处有两条不失真的标准经线。
UTM投影分带方法与高斯-克吕格投影相似,是自西经180°起每隔经差6度自西向东分带,将地球划分为60个投影带。
我国的卫星影像资料常采用UTM投影。
4.4 高斯-克吕格投影与UTM投影坐标系
高斯- 克吕格投影与UTM投影是按分带方法各自进行投影,故各带坐标成独立系统。以中央经线(L0)投影为纵轴X, 赤道投影为横轴Y,两轴交点即为各带的坐标原点。为了避免横坐标出现负值,高斯- 克吕格投影与UTM北半球投影中规定将坐标纵轴西移500公里当作起始轴,而UTM南半球投影除了将纵轴西移500公里外,横轴南移10000公里。由于高斯-克吕格投影与UTM投影每一个投影带的坐标都是对本带坐标原点的相对值,所以各带的坐标完全相同,为了区别某一坐标系统属于哪一带,通常在横轴坐标前加上带号,如(4231898m,21655933m),其中21即为带号。
4.5 高斯-克吕格投影与UTM投影正反解公式
高斯-克吕格投影和UTM投影公式从目前公开出版的教材、文献及网上我看到好几种版本,可归结为下列两组,我把原来教科书及国内文献上常见的一套公式列作高斯-克吕格投影公式,POSC(国际石油技术软件开放公司)及国外文献上见到的另一套公式列作UTM投影公式。常常能看到两套投影公式混用的文献资料,文中谈论的是UTM投影,但列出的公式却是国内教材上的高斯-克吕格投影公式,让我很困惑。为此,我设定比例因子都为1,用下列两组公式分别进行了同点的投影计算,计算结果在中高纬度时两套公式差异很小,小数后6位都是一致的;在低纬度时,投影结果差异拉大,横轴在小数第三位开始出现差异。假如精确到厘米级,上述试验说明两套公式混用应该没问题。不过,有可能会有其它极端的情况,毕竟是不同的投影公式。
高斯-克吕格投影正解公式:(B,L)→(X,Y),原点纬度 0,中央经度L0
![]()
上面公式中东纬偏移FE = 500000米 + 带号 * 1000000;
高斯-克吕格投影比例因子k0 = 1
UTM投影正解公式:(B,L)→(X,Y),原点纬度 0,中央经度L0
![]()
上面公式中东纬偏移 FE= 500000米 ;北纬偏移 FN北半球= 0,FN南半球= 10000000米;
UTM投影比例因子k0 = 0.9996,其它参数同高斯-克吕格投影正解公式
高斯-克吕格投影反解公式:(X,Y) →(B,L),原点纬度 0,中央经度L0
![]()
UTM投影反解公式:(X,Y) →(B,L),原点纬度 0,中央经度L0
![]()
式中参数同高斯-克吕格投影反解公式
5. 兰勃特等角投影(Lambert Conformal Conic);
5.1 兰勃特等角投影简介
兰勃特等角投影,在双标准纬线下是一“等角正轴割圆锥投影”,由德国数学家兰勃特(J.H.Lambert)在1772年拟定。设想用一个正圆锥割于球面两标准纬线,应用等角条件将地球面投影到圆锥面上,然后沿一母线展开,即为兰勃特投影平面。兰勃特等角投影后纬线为同心圆弧,经线为同心圆半径。前面已经介绍的墨卡托(Mercator)投影是它的一个极端特例。
兰勃特投影采用双标准纬线相割,与采用单标准纬线相切比较,其投影变形小而均匀,兰勃托投影的变形分布规律是:a) 角度没有变形;b) 两条标准纬线上没有任何变形;c) 等变形线和纬线一致,即同一条纬线上的变形处处相等; d) 在同一经线上,两标准纬线外侧为正变形(长度比大于1),而两标准纬线之间为负变形(长度比小于1)。变形比较均匀,变形绝对值也比较小;e) 同一纬线上等经差的线段长度相等,两条纬线间的经纬线长度处处相等。
兰勃特投影常用于小比例尺地形图。“1:1000000地形图编绘规范及图式 GB/T 14515-93”中规定1:100万地形图采用正轴等角圆锥投影(兰勃特等角投影),并采用了国际地理学会规定的全球统一使用的国际百万分之一地图的分幅原则,按纬差4°从赤道向北、经差6°从-180°向东分幅,每个投影分幅单独计算坐标,每幅两条标准纬线,第一标准纬线为图幅南端纬度加30′的纬线,第二标准纬线为图幅北端纬度减30′的纬线。由于是纬差4°分带投影的,所以当沿着纬线方向拼接地图时,不论多少图幅,均不会产生裂隙;但是,当沿着经线方向拼接时,因拼接线分别处于上下不同的投影带,投影后的曲率不同,致使拼接时会产生裂隙。
5.2 兰勃特等角投影坐标系
以图幅的原点经线(一般是中央经线L0)作纵坐标X轴,原点经线与原点纬线(一般是最南端纬线)的交点作为原点,过此点的切线作为横坐标Y轴,构成兰勃特平面直角坐标系
5.3 兰勃特等角投影正反解公式
兰勃特等角投影正解公式:
(B,L)→(X,Y),原点纬度 B0,原点经度L0,第一标准纬线B1,第二标准纬线B2:
![]()
兰勃特等角投影反解公式:
(X,Y) →(B,L),原点纬度 B0,原点经度L0,第一标准纬线B1,第二标准纬线B2:
式中参数同兰勃特等角投影正解公式
B通过迭代获取
|
转自: http://www.cnblogs.com/si812cn/archive/2009/11/09/1599107.html