墨卡托投影坐标系(Mercator Projection)原理及实现C代码

  墨卡托投影是一种“等角正切圆柱投影”,荷兰地图学家墨卡托(Mercator)在1569年拟定:假设地球被围在一个中空的圆柱里,其赤道与圆柱相接触,然后再假想地球中心有一盏灯,把球面上的图形投影到圆柱体上,再把圆柱体展开,这就是一幅标准纬线为零度(即赤道)的“墨卡托投影”绘制出的世界地图。

  墨卡托投影在今天对于航海事业起着极为重要的作用,目前世界各国绘制海洋地图时仍广泛使用墨卡托投影,国际水路局(IHB)规定:“除特殊情况外,各国都要用墨卡托投影绘制海图”。国际水路局发行的《大洋水深总图》是把全世界分成24幅编辑的,在南北纬72度之间就是使用墨卡托投影绘成的。

墨卡托投影性质

  由于墨卡托投影的经纬线离开赤道逐渐以相同倍数伸长,所以又称为渐长投影,由于它是具有等角性质的圆筒投影,所以也叫做等角圆筒投影。注意:这种投影不适合高纬地区,通常纬度60度以上区域,不用此投影。

  墨卡托投影有一个特别的特性:所有罗盘等角线,或称斜航线(就是与所经过的所有经线形成相同角度的航线,也称恒向航线)在墨卡托投影下都是直线。这使得在航海领域这个投影非常重要。

  注意:经纬线的伸长与纬线的正割成比例变化,随纬度增高极具拉伸,到极点成为无穷大;面积的扩大更为明显,在60度的地方面积要扩大四倍。如下图所示,地理上等半径圆在高纬度面积明显扩大。

  墨卡托投影是按等角条件修改透视圆筒投影而得到的投影,等角(也称为保形) 是指当地图上任何一点的各方向具有相同的比例,称为局部保形,透视圆筒投影如图1所示。从墨卡托投影图上可以看出,经线间隔的经度如果相等,则经线是等距平行的直线, 纬线也是平行的直线,而且经纬线是相互垂直的。墨卡托投影对透视圆筒投影改造点:要使圆筒投影称为等角的性质,必须使由赤道向两极经线逐渐伸长的倍数与经线上各点相应的纬度扩大的倍数相同。

透视圆筒投影

墨卡托投影方程式

  墨卡托投影以整个世界范围,赤道作为标准纬线,本初子午线作为中央经线,两者交点为坐标原点,向东向北为正,向西向南为负。南北极在地图的正下、上方,而东西方向处于地图的正右、左。由于墨卡托投影在两极附近是趋于无限值,因此它并没完整展现了整个世界,地图上最高纬度是85.05度(通过纬度取值范围ys反解计算可得到纬度值为85.05112877980659)。为了简化计算,我们采用球形映射,而不是椭球体形状。

  公式推导具体见文献: 墨卡托投影与大圆投影的构成及其在_省略_定航线_计算航程与航向方面的应用_程光举。

利用等角条件m=n来讨论具体公式,具体分为三步:

1、根据m=n得到地球表面投影到平面上的微积线段的关系式。

2、把地球视为球体:

设地球表面A点经纬坐标为(λ,Φ),对应的投影坐标为(x,y),基准纬线设置为赤道,则R为地球半径;墨卡托投影方程式为:

或 3、把地球视为旋转椭球体

墨卡托投影正反解公式:

公式推导具体见文献: 墨卡托投影与大圆投影的构成及其在_省略_定航线_计算航程与航向方面的应用_程光举。

程序实现

 https://github.com/wylloong/-GeographyCoordinateTransform/blob/master/Mercator  源代码

 或   http://download.csdn.net/detail/wylloong/9813502 

参考文献

 http://download.csdn.net/detail/wylloong/9813502 (两篇原理文献及原代码)

  作为一个地理开发的局外人,在文献基础和自己的理解上实现,仅略知皮毛,疏漏在所难免,承蒙诸君不吝告知,将不胜感激!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据小魔方

人口金字塔图

今天跟大家分享的图表是——人口金字塔图! 人口金字塔图是按照人口年龄和性别表示人口分布状况的情况,能形象的表示人口某一年龄和性别构成。 该图表对于数据组织的要求...

3497
来自专栏拂晓风起

【Fanvas技术解密】HTML5 canvas实现脏区重绘

1042
来自专栏周明礼的专栏

WebGL,真正进入三维的世界

WebGL真正强大的地方,在于它为我们提供了三维图像的绘制能力。当然这主要的得益于WebGL的计算速度,要知道,绘制三维图形,我们需要进行大量的(逐顶点甚至是逐...

2.6K1
来自专栏CreateAMind

分类生成统一框架Triple-GAN

https://github.com/zhenxuan00/triple-gan 阅读原文

832
来自专栏AI科技大本营的专栏

ICLR vs arxiv-sanity

我觉得交叉对比 ICLR 2017(一个备受欢迎的深度学习大会)的论文决策(分为四类:Oral、Poster、Workshop 和 Reject)与所有论文在 ...

3245
来自专栏张俊的专栏

【SPA大赛】机场客流量的时空分布预测比赛经验分享

1. 问题描述机场拥有巨大的旅客吞吐量,与巨大的人员流动相对应的则是巨大的服务压力。安防、安检、突发事件应急、值机、行李追踪等机场服务都希望能够预测未来的旅客吞...

4040
来自专栏每日一篇技术文章

opengL ES _ 入门_05

ID是漫反射的强度,Ii是光的入射光的强度,和KD的漫反射,是对粗糙松散耦合对象材料。松散的意思是,在许多现实世界的材料,实际表面可能有点抛光,但半透明的,而层...

653
来自专栏ATYUN订阅号

【深度解读】GANs实现:比较生成对抗网络(无需择优挑选)

一些理论性的GANs(生成对抗网络)的实现包括:DCGAN, LSGAN, WGAN, WGAN-GP, BEGAN,还有DRAGAN。 这篇文章执行了与论文结...

3235
来自专栏人人都是极客

GPU渲染之OpenGL的GPU管线

GPU渲染流水线,是硬件真正体现渲染概念的操作过程,也是最终将图元画到2D屏幕上的阶段。GPU管线涵盖了渲染流程的几何阶段和光栅化阶段,但对开发者而言,只有对顶...

1092
来自专栏Pulsar-V

Matlab 飞机航向INS仿真

close all; clear all; clc; format long %初始化参数 %vx(1)=0.000048637; %vy(1)=0.00020...

2584

扫描关注云+社区