GIS中为啥要考虑地图投影?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GIS中为啥要考虑地图投影?相关的知识,希望对你有一定的参考价值。
参考技术A 关于为什么要地图投影,这样考虑?如果我绘制了一幅地图,自己看看,或者打印出来给别人看看,或者截图放在文档里面,可不可以没有地图投影信息?我觉得可以,没有问题.
如果要把我做的数据,发给别人,和别人已有的数据套合在一起显示(同一地区的),显然为了保证能够套合,得要求“坐标范围”一致,也就是说在一个GIS下打开的时候自然而然能叠加在一起显示,那么这个时候,没有地图投影信息也是可以接受的.但是有可能大家已有的数据使用了不同的坐标系,例如我的数据是地理坐标的,图上坐标都是经纬度,你的数据是平面坐标的,都是类似(38512933,3212442)这样的坐标,可不在经纬度表示的范围内,这个时候要把数据显示在一起,就要求两个数据之间建立一种转换的关系,也就是说,我的数据可以转换到你的数据的坐标系上,或者你的数据转到我的坐标系上.在GIS系统中,是提供了这样的坐标系转换的工具的,不过得先告诉系统,你的数据现在的坐标系是什么样,通常坐标系中很重要的部分是“地图投影”(当然地理坐标系没有投影),所以先要设置好地图投影,然后GIS系统才能知道如何转换到其他坐标,这个时候,你的数据就必须有地图投影(或者说延伸为坐标系)了!
所以说到这里,为什么GIS中要考虑地图投影?
其实主要原因是为了数据能够在使用过程中方便的转换到其他坐标系中,另一主要的目的是使用你的数据的人结合数据坐标系信息(一般包含有地图投影信息)才能知道你的数据是在什么位置,坐标又是什么含义,不然直接蹦出来一个坐标,可能无法确定是对于的什么地理位置.
GIS数据漫谈— 投影坐标系统
投影坐标系统(PCS)
地球近似为一个“椭球体”,在不考虑高程的情况下其实经纬度坐标就是描述了某点在球面的位置。在没有电脑、没有数字化地图的时代最实用的是纸质地图,但纸质地图是平面的,要把地“球”展开到地图的“平面“上(把地球在一张纸上“画”出来)就需要投影(Projection)。
地“球”被投影到“平面”后,还有一个最实际的功能就是便于测量。因为投影后的坐标都是在直角平面坐标系下的坐标了(单位一般为米)。比如计算两点间的距离,直接用勾股定理即可。
已知球面上两点经纬度也是可以计算距离的,准确说是大圆(GreatCircle)距离,后面我们还会提到一般采用 Haversine 公式。
有了基本的概念后,我们来看看目前互联网地图最为常用的投影Web墨卡托投影。Web墨卡托投影墨卡托投影(Mercator)由荷兰地图学家墨卡托 (Gerardus Mercator) 于 1569 年提出。15世纪正是大航海时代的(又称地理大发现)开端,墨卡托投影的创立最初目的就是用于量算航向方位,为海上航行提供保障。
墨卡托投影是正轴等角圆柱投影。
假设地球被套在一个圆柱中,赤道与圆柱相切,然后在地球中心放一盏灯,把球面上的图形投影到圆柱体上,再把圆柱体展开,就形成以一幅墨卡托投影的世界地图。
Google基于墨卡托投影设计了 Web墨卡托投影 (Web Mercator)。
首先,将基于椭球体的墨卡托投影简化为“正球体”,半球取WGS84椭球体的长半轴 6378137 m。其次,由于墨卡托圆柱投影的方式必然导致当纬度φ接近两极,即90°时,投影后平面坐标的Y值趋向于无穷大。但沿赤道展开的X轴的范围是固定的,即 [-πr,πr] = [-20037508.342789244,20037508.342789244] 。
为了让投影后的平面能正好在一个正方形内表示,即让投影后的Y轴范围也是[-20037508.342789244,20037508.342789244],反算出纬度的限制范围约为:[-85.06,85.06]。
这样全世界可以在一个正方形里面刚好放下,也为地图切片的四叉树分割和计算提供了便利。但由于Web墨卡托投影是将原本基于椭球体的墨卡托投影“简化”为了“正球体”。因此,Web墨卡托投影又叫伪墨卡托投影(Pseudo Mercator)、球面投影(Spherical Mercator)。也因为正球体的简化,导致Web墨卡托并非和标准的墨卡托投影一样保持严格的等角(Conformal),而是近似等角。那等角到底是什么意思呢?比如下图中已知莫斯科、广州两点的经纬度。
用Web墨卡托投影在平面后( PS:ThingJS API 提供了经纬度转Web墨卡托投影的方法,有兴趣可以自己试试)。
在地“球”上过莫斯科和广州两点以大圆圆弧连接,如下图黄线。这条大圆(Greate Circle)即为球面上两点的最短距离。
那我们在墨卡托投影的平面上连接投影后两点得到的直线(如下图蓝线)又是什么呢?
这条蓝线与各个经线(绿色)的夹角是不变的,在这个例子中约为119.6°。这条线就叫做等角航线(rhumb line)也称恒向线,即地球上两点之间与经线处处保持角度相等(等方位)的曲线。
把大圆航线和等角航线再在地球和墨卡托投影平面上对比观察,尤其观察他们与经线(绿色)的夹角。
可以发现:投影面上两条方向线所夹角度与球面上对应的两条方向线所夹的角度相等。这正是等角(Conformal)的意义。换句话说,球面上的一个图形轮廓经过墨卡托投影后对于局部而言只是“原样放大”了,形状没有变化。因此等角投影也称为正形投影。
还可以看到,墨卡托投影虽然能保持等角不变,但投影后的面积变化很大,尤其纬度越高的地区。最典型的就是格陵兰岛,在墨卡托投影上看几乎和非洲大陆的面积差不多了。而真实情况却是:非洲面积约是3020万平方千米,格陵兰岛面积约是217万平方千米;非洲的面积约是格陵兰岛的14倍。
这就引出了地图投影的一类分类体系,即按投影变形的性质,地图投影可分为:
(1)等角投影
投影面上两条方向线所夹角度与球面上对应的两条方向线所夹的角度相等。
(2)等积投影
球面上的面状图形轮廓经投影后,仍保持面积不变。
(3)任意投影
既不等角也不等积,角度、面积、长度三种变形同时存在。在任意投影中,比较常见的一种是等距投影。所谓等距投影,并不是说这类投影不存在长度变形,而是沿某一特定方向的距离,经过投影之后保持不变。
正所谓鱼和熊掌不可兼得,没有既能保持等角又能保持等积的地图投影,需要根据实际的需求和应用情况进行取舍。
工具推荐
森城市:一键生成3D城市,内置多种模板,自由编辑
• 森城市目前提供全国范围内110多个城市的标准三维场景的构建服务,使城市三维场景的构建速度提升至分钟级。
• 森城市支持不同类型城市数据的插入和自动融合,并提供友好而强大的场景编辑能力和性能处理能力,无需具备GIS、建模等专业技能,就可以轻松DIY自己的酷炫城市三维场景。
• 森城市具备开放的城市场景输出能力,无需担心场景后续使用的兼容问题。
低代码ThingJS:低代码灵活开发数字孪生可视化应用
• 低代码ThingJS提供了丰富的3D开发API、完善的开发文档和视频教程,熟悉基础的JavaScript前端知识即可上手数字孪生3D可视化应用开发。
• 低代码ThingJS是纯H5的WebGL架构,可在各类主流网页浏览器中自如运行,包括可在移动端直接访问运行。
• 低代码ThingJS提供全生命周期的开发组件,大大提升数字孪生可视化项目开发效率。
以上是关于GIS中为啥要考虑地图投影?的主要内容,如果未能解决你的问题,请参考以下文章