投影坐标系统(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数据漫谈(六)— 投影坐标系统相关推荐

  1. GIS数据漫谈(五)— 地理坐标系统

    地理坐标系统(GCS) 地理坐标系通过角度测量单位(Unit).本初子午线(PRIMEM)和基准面(DATUM)来进行定义.地理坐标系下的坐标值为经纬度,所以有时也叫经纬度坐标系.CGCS2000,2 ...

  2. GIS坐标系统(三):投影坐标系统/地图投影

    投影坐标就是我们常见的地图的坐标,这个坐标是我们进行地图制图和空间分析常用的坐标.一般而言,如果拿到数据是地理坐标,我们会对其进行投影,转化为投影坐标. 投影坐标系统是基于地图投影而建立的.投影坐标系 ...

  3. 【转载】GIS数据工程师成长路

    1. 题记 Esri中国社区已经走过了6个年头,自己进入这个大家庭也整整4年有余:社区为大家提供一个相互学习.交流的平台,通过社区也结识了很多GIS行业达人.技术牛人,为自己的成长路增添许多捷径.在六 ...

  4. gis 数据框裁剪_BIM+GIS的八大挑战!大挑战,见未来

    BIM与GIS的跨界融合,使微观领域的BIM信息与宏观领域的GIS信息实现交换和互操作,提升了BIM应用深度,将BIM的应用从单体延伸到建筑群甚至城市级,为GIS行业发展带来了新的契机,同时也带来了一 ...

  5. gis 数据框裁剪_ArcGis入门学习教程带练习数据

    百度网盘 链接:https://pan.baidu.com/s/18iTEYMygozKZT2vuzLY8Dg 提取码:pwp8 目    录 实验一.使用 ARCMAP浏览地理数据 1 一.实验目的 ...

  6. [Qt教程] 第16篇 2D绘图(六)坐标系统

    [Qt教程] 第16篇 2D绘图(六)坐标系统 楼主  发表于 2013-5-2 20:08:12 | 查看: 738| 回复: 0 坐标系统 版权声明 该文章原创于Qter开源社区(www.qter ...

  7. 在百度地图中叠加CAD图及GIS数据展示踩坑记

    前言 在之前的几篇博客中分别介绍了 在Cesium中实现与CAD的DWG图叠加显示分析 https://www.cnblogs.com/vjmap/p/16541751.html . 高德地图与CAD ...

  8. 三维匹配_三维GIS数据融合的基本方法与进展

    点击图片上方蓝色字体"慧天地"即可订阅 文章转载自微信公众号地理信息世界GeomaticsWorld,版权归原作者及刊载媒体所有. 作者信息 华 巍1,2,胡云岗1,2,侯妙乐1, ...

  9. ENVI_IDL:批量处理Modis Swath数据的重投影并输出为Geotiff格式+详细解析

    目录 1. 课堂内容 2. 知识储备 3. 编程 4. 题外话 1. 课堂内容 批量处理Modis Swath数据的重投影并输出为Geotiff格式 总体思路 1. 先获取Modis Grid产品的数 ...

  10. mysql象限和投影_地理坐标系统和投影坐标系统

    GIS中使用两种类型的坐标系统:地理坐标系统和投影坐标系统.每个投影坐标系统都基于一个地理坐标系统和一种地图投影. 每个投影坐标系统都基于一个地理坐标系统和一种地图投影. 地理坐标系统就是用数学公式模 ...

最新文章

  1. 《PHP、MySQL和Apache入门经典(第5版)》一2.11 实践练习
  2. python加载shellcode免杀 简介
  3. vue refs v-for 使用注意
  4. powerdesigner中如何在自动生成建表SQL时添加模式名schema
  5. iframe懒加载_前端常见问题
  6. idea mac 查找文件快捷键_idea for mac 最全快捷键整理
  7. 什么是对象存储OSS-对象存储 OSS > 产品简介 > 什么是对象存储OSS
  8. 华为:崛起的 5G 巨龙
  9. Android图片控件,跟随列表(recyclerView)的上下滚动而同步平移。
  10. 微软正式发布 Azure IoT Central
  11. 博睿APM获《金融电子化》2021年金融业新技术应用创新突出贡献奖
  12. 【公开课】【阿里在线技术峰会】魏鹏:基于Java容器的多应用部署技术实践
  13. Unity打Android包报错Error building Player Exception OBSOLETE - Providing Android resources in AssetsPlug
  14. QQ互赞助手pro【每天免费互shua名片赞】2.0系统版本
  15. 这个微信小游戏我就坚持了五秒 好玩的休闲游戏推荐
  16. 2021-2027全球与中国可待因药品市场现状及未来发展趋势
  17. 程序员真实故事系列 ---阅读书籍计划
  18. LiteOS 学习第一篇
  19. 大数据之hive:hive分桶表
  20. centos7上owncloud搭建私有云

热门文章

  1. mysql 事务一直running_事务一直running?记录一次事务异常导致的下单阻塞
  2. 中国人民大学计算机系孙辉,张静(中国人民大学信息学院计算机系讲师)_百度百科...
  3. 谷歌 AI 团队用 GAN 模型合成异形生物体
  4. 什么是APS计划排程系统和生产计划排产系统?
  5. Java面试题!mysql格式化查询结果
  6. Unity InControl插件 按键映射对照表
  7. 自然语言处理——中英文分词工具(还可做词性标注与命名实体识别)
  8. 【stm32f407】硬件介绍
  9. rn在java中什么意思,RN150中RN是什么意思
  10. lg android 互动游戏,LG G7 开启游戏模式(理论适用所有LG手机)