世界地图并不是世界的真实样貌!甚至误差非常大

现在所用的世界地图并不是世界的真实样貌,甚至误差大的离谱。

地球属于三维球体,想完整地表现到二维平面上是不可能的,必须牺牲一些真实属性。因为三维降到二维肯定存在扭曲失真,这是维度差异所决定的,不可避免。

我们现在所用的世界地图选择牺牲面积大小,保留角度和形状,这种独特的方式绘制世界地图也被称为“墨卡托投影法”。

或许学过地理的读者会比较熟悉,墨卡托投影法就是假想在地球内部中心位置放上一个点光源,这个光源所释放的光线会将地表每一个位置都投影到一个圆柱面上(如上图),我们将这个圆柱面展开就是一张长方形的世界地图了。

如果这种描述方法太抽象,我们可以这样理解:把地球比作一个大西瓜,拿一把大刀,将这个西瓜切成12等分,每一份就是上图中这样,然后将他们边缘的切口连接起来。这时出现了一个问题,图中只有赤道位置的这一个点相互连接,越远离赤道的位置,相互之间分开的距离就越大。这时强行将远离赤道的地方左右拉伸,然后连接在一起,这样三维的一个球体就变成了二维的平面了,也就是我们现在的世界地图了。

由此得知,赤道位置是没有被拉伸的,是最真实的;而靠近两极的位置是被拉伸最严重的。这就造成了越远离赤道的国家,国土面积在地图上就显得越大。有些国家的误差甚至达到了10多倍!

在墨卡托投影法下,最经典的误差案例就是非洲和格陵兰岛。上图中红色箭头指向的就是格陵兰岛和非洲,我们可以从世界地图中看到这两块区域的面积是差不多的。但查阅数据资料发现:格陵兰岛面积216万平方公里,非洲面积3022万平方公里,两者竟相差了14倍!

我们都知道格陵兰岛是世界最大的岛屿,如果真的像我们在地图上看到的那样,它的面积跟非洲差不多的话,那它早就晋升为大陆了,就不能称之为岛屿了。所以,这就是墨卡托投影的弊端,我们从地图上看到的国家面积是不能直接比较大小的。不仅如此,世界地图上的比例尺也是不精准的,因为面积发生改变,长度肯定也会有所改变。高纬度形变大,低纬度形变小,所以用同一个比例来统一衡量,肯定是不准确的。

世界地图的绘制方法千奇百怪,墨卡托投影法属于舍弃面积,保留其它属性。那么另一种非主流的地图绘制法高尔-皮德斯投影就属于舍弃形状,保留面积。上图中,我们可以看到这种绘制方法下的世界地图,非洲的面积在图上差不多是14个格陵兰岛,这也和实际情况符合。但陆地形状却已经严重扭曲了。

无论用哪种绘制方法都会产生属性的缺失,选择最适合我们的世界地图才是关键的。400多年前为了满足航海需要,墨卡托发明了墨卡托投影法,以扭曲地图为代价,使经纬线在平面的地图上相互垂直,航海家们只需要将起点和终点在平面上连成一条直线,就可以知道航线与经纬线的角度,这才方便确定方位,我们称之为等角航线。

说到这里,聪明的读者已经发现,平面地图上的直线,反映到地球三维的球形上,其实是一条曲线,所以说等角航线在行驶过程中,实际是一条曲线,并不是最短路径。几百年前的航海家,在墨卡托投影下的地图中走了远路,但定位精准,最终都能到达目的地。

我们平常在地图上看到飞机的航线是曲线也是这个道理,这才是真实情况下的最短路径。飞机实际飞行过程在地球三维的球面上,这个三维空间的最短的路径,在二维面上就变成了一条曲线,也叫大圆航线。

在墨卡托地图发明以前,存在过上千种奇形怪状的地图,这些都是人类文明进步的曲折路。

303

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/432154.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

error MSB6006: cmd.exe exited with code 3

利用vs2012和qt5.5.1,在编译例子时发生如下错误: C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppCommon.targets(172,5): error MSB6006: “cmd.exe”已退出,代码为 3。 图片如下: 解决办法如下&#x…

数学天才用5万字让你读懂:微积分!

前面接连发了三篇麦克斯韦方程组的文章(积分篇、微分篇和电磁波篇),从理论上来说,讲麦克斯韦方程组不讲微积分是不行的,因为人家本来就是一组积分方程和一组微分方程。 但是,为了让更多人,尤其是…

指定一个actor对pawn不可见

1. 把一个staticmesh作成一个actor 2. 给actor添加一个tag 3. 在pawn的beginPlay里面查找这个actor,并设置actor的owner为pawn,然后调用set owner no see

oracle中DECODE与CASE的用法区别

对于CASE与DECODE其实并没有太多的区别,他们都是用来实现逻辑判断。Oracle的DECODE函数功能很强,灵活运用的话可以避免多次扫描,从而提高查询的性能。而CASE是9i以后提供的语法,这个语法更加的灵活,提供了IF THEN ELSE…

计算曲线的长度

若一条平面曲线可表达成标准方程 那么它的长度就是: 其中a、b为x的上下限。 若平面曲线可表达成参数方程 那么它的长度就是:

MATLAB 求曲线长度

1. 求曲线长度积分公式 2. 已知曲线方程 3. 已知系数,曲线方程为 y 0.0001 * x 0.0005 * x 20 4. 已知曲线的x的起点和终点 -90.78 ,90.78 5. matlab中定义曲线方程 >> syms x; >> y 20 0.0005 * x ^ 2 0.0001 * x ^ 3; 6. matlab中…

C++调用matlab dll

1. 编写matlab函数 2. 命令行输入 mex -setup 选择 mex -setup C 3. 命令行输入 mbuild -setup 选择 mex -setup C -client MBUILD 4. 命令行输入 mcc -W cpplib:add -T link:lib add.m -C 第一个add为生成的dll名称,第二个add为m文件名称,m文…

rapidxml在qt linux(gcc)下写xml文件出错

在linux(gcc)下使用qt写入xml出错,代码如下: 错误如图:这里写图片描述 在网上找了好久没有找到答案,最后在http://stackoverflow.com/questions/14113923/rapidxml-print-header-has-undefined-methods找到…

SCRUM 12.03

第二轮迭代从今天起正式开始了。12月3日,我们举行了一次组会。 第一轮迭代结束时,我们意识到第二轮迭代需要实现的功能主要如下: 在下次迭代的时候实现对多个网站的信息进行比较取最优惠的选择,目前我们劲针对了一个网站的信息进行…

swift UIActivityIndicatorView

// // ActivityIndicatorViewController.swift // UIControlDemo // // Created by on 14/12/1. // Copyright (c) 2014年 马大哈. All rights reserved. // import UIKit class ActivityIndicatorViewController: BaseViewController { var waitActivity:UIActivityIndi…

UE4打包后如何调试

在项目打包后发现有一个数组越界问题,然而无论是 Play in Editor或是 VS选为DebugGame后启动,游戏都没有任何问题,越界问题只在打包后出现。这里记录一下自己的Debug方法。 首先将项目以DebugGame配置打包: 更改打包配置&#xff…

Win7下安装配置gVim

本文根据vim官网的《Simple Steps to Help You Install gVim on Windows 7》【1】一文整理而成。 1. 下载gVim 在http://www.vim.org/download.php/pc 下找到“PC: MS-DOS and MS-Windows”,下载“gvim74.exe”【2】。 2. 安装gVim 1. 安装时可以选择更改目录&#…

ActiveReports 报表控件官方中文入门教程 (2)-创建、数据源、浏览以及发布

ActiveReports 报表控件官方中文入门教程 (2)-创建、数据源、浏览以及发布 原文:ActiveReports 报表控件官方中文入门教程 (2)-创建、数据源、浏览以及发布本篇文章将阐述首次使用 ActiveReports 报表控件 的方法,包括添加报表文件、绑定数据源以及如何发布报表等内…

笔记本多硬盘win7下U盘安装Cnetos7引导问题!

CentOS7出来的时间已经不算短了,前段时间一直在虚拟机上使用,最近闲下来了,就像在自己的笔记本上装一个win7和Centos7的双系统体验以下实体机的效果,几经波折之后终于顺利的装上了WIN7和CentOS7的双系统!在这里主要是想…

Linux Apache php MySQL 安装配置(Centos 6.4 yum安装)

一、yum准备 1.Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。 基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安…

公司用章知识

最近在走公司的财务报销流程,了解公司财务运作过程中的一些用到的章,现在把公司用章之类的知识点搜集起来,汇总在这里,留以备用。 了解总喜欢刨根问底,那就开始刨起来。 印章的历史 印章是融合了雕刻、书法和绘画等多种…

可变参数模板

【导读】:C 可变参数模板对参数进行了高度泛化,它能表示0到任意个数、任意类型的参数。相比C98/03,类模版和函数模版中只能含固定数量的模版参数,可变模版参数无疑是一个巨大的改进。然而由于可变模版参数比较抽象,使用…