zoukankan      html  css  js  c++  java
  • 玩转可视化--来聊聊地图投影的学问

    欢迎访问网易云社区,了解更多网易技术产品运营经验。

    作者:刘阳(如需转载,请取得作者同意授权。)

    地图所有人都很熟悉,但估计许多人都不知道我们平时看到的地图中是存在许多门道的,今天我就来一一道来。

    先来看看我们平时最常见的世界地图是长这样的。



    我们很容易联想到这样一个图形是无法平整的贴在一个球体表面的。真正要帖在球体表面的地图是下图这样的,而且即便如此,也只是近似平整而已。


     

    由于地球是一个近似球体,地球表面是一个不可展开面,因此将地球表面展开后必然会出现撕裂和褶皱。将三维的地球表面映射到二维平面的过程就是地图的投影。而由于空间维度的降低,在投影的过程中,地图的扭曲和形变是无法避免的,因此,在绘制世界地图时,面积、方向和距离是无法全部顾及到。

    以刚刚的世界地图举例:上面的世界地图采用的投影方式叫做等差分纬线多圆锥投影,该投影中纬线为对称于赤道的同轴圆圆弧,圆心位于中央经线上。中央经线为一直线,其它经线为对称于中央经线的曲线,且离中央经线越远,其经线间隔成比例地递减;极点表示为圆弧,其长度为赤道投影长度的二分之一,经纬网的图形有球形感。我国被配置在地图中接近于中央的位置,保持太平洋完整。由于该投影的性质是接近等面积的任意投影,因此我国绝大部分地区面积变形小。在中学使用的世界地图中的世界的气候类型和洋流图、世界政区图和自然带的分布图都是采用的这种投影图。



    上图显示了等差分纬线多圆锥投影投影形变的程度,图中的1.0线表示面积形变为0,大于1.0表示图上面积比起实际面积放大了,小于1.0表示图上面积比起实际面积缩小了。我国之所以普遍采用这种投影方式也有一部分原因是我国大部分国土面积都处于低形变程度的地图中。

    此外,使用这种投影还存在的问题是:即使是在实际中互相垂直的方向,在地图中却表现为非垂直。例如下图中的经线和纬线。

     


    为了真实表示地图中的方向,就得提到大名鼎鼎的墨卡托投影(Mercator Projection),其投影出的世界地图如下图所示,经线纬线互相垂直并且方向正确。墨卡托投影被广泛应用例如谷歌地图、网易有数等地图场景(此处为硬广:网易有数能够绘制填充地图、地图散点图等多种图表类型,并且提供面向全国省市级的可视化数据分析功能,快戳   网易有数 - 网易大数据|专业的私有化大数据平台试用)



    墨卡托投影是圆柱投影的一种,是由地理学家墨卡托于16世纪发明的。和所有其它的圆柱投影一样,麦卡托投影的世界地图中,地球纬线是左右方向平行的,长度一样,覆盖整个地图的画幅;而经线是上下方向平行,垂直于纬线。然而在现实世界里,这显然是不对的:如果你拿来一个地球仪仔细观察,就能发现地球的纬线虽然是平行的,但长度却不一样:赤道最长,越往两级方向越短。而经线虽然都是一样长的,但它们并不平行,而是在南极和北极交汇成点。


     

    墨卡托投影的绘制方式是将一张纸卷成圆筒状包住地球,纸面接触地球赤道,模拟地球球心为光源,将地球表面轮廓照射到圆筒上从而形成的地图。在赤道上,由于地球和纸面接触,因此投影出的面积和方向也是完全真实的。然而,离开赤道往南北级方向可以明显发现,投影出的图案面积发生了形变。由于光源在球心,因此南极点和北极点将不会出现在投影中,甚至两级的极圈也不会被投影在地图中。


     

    假设R为赤道半径,r为北纬60度纬线的半径。r/R=sin(90-60)=0.5,周长=2*pi*半径,因此赤道的半径是北纬60度的2倍。然而,在墨卡托投影的世界地图里,北纬六十度和赤道是一样长的。因此为了保持大陆的形状,在北纬六十度,地图的南北方向也被拉长了2倍。因此,在墨卡托投影的地图中,高纬度的地区会被放大许多。

    这种放大有多夸张呢,这里给大家几张动图感受一下。







    链接在这里,自己玩玩吧:   Compare Countries With This Simple Tool  

    然而,即使墨卡托投影存在这样的问题,依然难以阻挡它的广泛应用,另外,选取不同的基准线,画出的地图也可以有不同的特性。

     


    最后还要强调一点墨卡托投影或者说大多数投影都存在的一个误区:地图上两点之间的距离未必是实际中的最短距离。例如从英国伦敦飞到美国西雅图的民航航线是这样的:

     


    上图中的弧线是航班的真实路线。而在平面投影或地球仪上可以明显观察到,上图中这条弧线才是两座城市间的最近距离。



    这里再介绍几种常见的投影方式以作对比:

    • 等角度投影

    正切方位投影,主要用于两极地区地图。以极地为投影中心,又称球面极地投影。纬线为以极为中心的同心圆,经线为由极向四周辐射的直线,纬距由中心向外扩大。投影中央部分的长度和面积变形小,向外逐渐增大。



    • 等面积投影

    摩尔威德投影是一种伪圆柱投影,和圆柱投影有相似之处,但又用数学方法进行了优化。这种投影方法保持了面积的准确性,也在较大的程度上控制了形状的形变量。它选择一条经线最作为基准,然后把这条经线向东和向西各90度的两条组成大圆的经线在地图上画成一个圆,效果如图所示:



    • 等距离投影

    等距离圆柱投影(Equidistant Cylindrical Projection)。它是公认的所有地图投影里,数学变换最简单的一种。麦卡托投影在高纬度地区为了保持形状的准确而将纬线之间的距离拉长;等距离圆锥投影的所有相邻经线和纬线之间的距离都是一样的。因此,在南北方向上,地图上任意两点的距离是保持精确的。这种地图缺点很多,既不保持形状的准确,也不保证面积的准确。但因为它制作简单,因此很多时候它被用作索引地图(例如世界各国列表)或示意地图(例如时区、货币分布、国际组织成员分布等地图)的投影。



    • 面积、角度、距离最折中的方案

    罗宾逊投影(Robinson Projection)。前面一直在讨论,在把3维的地球转化为2维的地图的过程中,等方面的精确度不能个个都保全。于是,制图学家们开始寻找有没有折中方案,让这几方面的变形程度尽可能最小化。罗宾逊投影就是这些尝试的其中一个结果。它的效果如下:



    罗宾逊投影中,形状、面积和角度等都做不到精确,然而它们之间进行了互相的妥协。和麦卡托地图相比,它的陆地轮廓形状发生了可以接受的扭曲,而高纬度地区的面积变化虽然还存在,但也变小了不少。这种投影方法被发明后,很快就被用于绘制各种各样的世界地图了。

    所以说,究竟有没有一种等积等距等角度的地图呢?当然有,买个地球仪吧。


    网易有数:企业级大数据可视化分析平台,具有全面的安全保障、强大的大数据计算性能、先进的智能分析、便捷的协作分享等特性。点击可免费试用哦


    相关文章:
    【推荐】 GDB抓虫之旅(中篇)
    【推荐】 一行代码搞定Dubbo接口调用
    【推荐】 控制台的艺术(附原理实现)

  • 相关阅读:
    小笔记系列——Excel中获取当前日期
    Git 错误:OpenSSL SSL_read: Connection was reset, errno 10054
    cmd_切换文件目录的几种方法
    Jupyter Notebook 常用操作(持续更新中……)
    chrome 浏览器书签保存
    各种开发工具注释的快捷键(持续更新中…)
    Spyder 快捷键(注释、跳转、缩进)
    ISlide插件安装后,PPT无法正常关闭
    [TimLinux] 操作系统实战45讲
    [TimLinux] vnc and go bashrc
  • 原文地址:https://www.cnblogs.com/zyfd/p/9994347.html
Copyright © 2011-2022 走看看