webgis 之 地图投影

news2024/11/25 15:40:21

地图投影

    • 什么是地图投影
      • 目的
      • 种类
      • 等角投影的分类
      • 墨卡托投影
      • Web 墨卡托投影
    • 参考
    • 小结

为了更好地展示地球上的数据,需要将地球投影到一个平面上。地图投影是一个数学问题,按照一定的几何关系,将地球上的经纬度坐标映射到一个平面上的坐标。地球投影有很多种,每种投影都有自己的优缺点。本文介绍一些常用的地球投影。

什么是地图投影

投影,在数学上的含义是建立两个面之间点与点、线与线的对应关系。同样地,地图投影的定义是:建立地球椭球面(或球体表面)与地图平面之间点与点或线与线的一一对应关系。

地图投影的变形通常有长度变形、面积变形和角度变形。在实际应用中,根据地图的使用目的,通常会限定某种变形。

地球是一个球体,而我们的屏幕是一个平面,所以我们需要将地球投影到一个平面上,这样才能在屏幕上显示地球的数据。

目的

  • 方便看图或者展示地理信息;

  • 制作平面地图;

  • 建立投影坐标系;

  • 气象学分析;

种类

把球形的地球投影到平面上,一定会有形变或者扭曲,这种形变有很多种,不同的投影方式会有不同的形变。根据变形性质,常见的地图投影有:

  • 等角投影(正形投影):保持线和线的夹角不变,这是关注的的重点;

  • 等面积投影:保持面积不变;

  • 等距投影:保持距离不变;

  • 等形状投影:保持形状不变;

等角投影保证了角度不变,也就保证了方向不变,使用该投影可以保证地图上的方向是正确的,这种地图投影适合用于航海、飞行等需要方向准确的领域。是我们关注的重点。

等角投影的分类

  • 极地投影

  • 兰伯特投影

  • 墨卡托投影

重点介绍墨卡托投影,因为它是日常开发中遇到最多的投影方式。

墨卡托投影

1569年,由比利时数学家墨卡托(Gerardus Mercator)提出的一种地图投影方法,是最常用的地图投影方法之一。墨卡托投影是一种等角圆柱投影,它将地球表面投影到一个圆柱体上,然后再展开到一个平面上。

一个圆柱体套住地球,光线从球心射出。

墨卡托投影

墨卡托投影的特点是保持角度不变,是一种等角投影,地球上两直线的夹角,投影到平面上,角度不变,但是会有面积变形,即在地图的高纬度地区,面积会被放大。由于等角不变的特点,保证了投影后方向和相对位置不变,因此墨卡托投影在航海、飞行等需要方向准确的领域中应用广泛。

Web 墨卡托投影

2005年,Google Maps 推出,使用 Web 墨卡托投影,这种投影方式在 web 地图中得到了广泛应用,已经是 web 地图的事实标准。

EPSG 投影编码为 3857,即 EPSG:3857

地球是一个两极扁赤道略长的椭球体,而 Web 墨卡托投影把地球简化成一个正球体,两极半径和赤道半径相等了。

web 墨卡托投影

web 墨卡托水平方向(经度方向)没有变形,但是竖直方向(维度方向)随着维度的变大,长度被拉伸了,维度越高,拉伸越大。

经过 web 墨卡托投影以后,以赤道为标准纬线,本初子午线为中央经线,两者的交点为原点,向东、向北为正,向西、向南为负。

赤道半径R = 6378137米, PI = 3.14159265359, 则

X 轴范围:[-20037508.342789244, 20037508.342789244], 而 Y 轴,从投影上看,越靠近极点,会被拉伸到无穷远,google 的工程师干脆就取和 X 一样的范围,因此世界地图是一个正方形。

最小坐标为[-20037508.342789244, -20037508.342789244],最大坐标 [-20037508.342789244, 20037508.342789244]。

合法的经纬度范围为: [-180, -85.06, 180, 85.06]

为何是 85.05 呢?

我计算出来是 71.57

计算方法是:

tanX = PI*R/R = PI = 3.14159265359
X = 71.57

后在网上查询资料,发现是 85.06 ,原因是:

y = ln(tan(π/4 + φ/2)) # 当 φ = 85.06 时,tan(π/4 + φ/2) = ∞

不太明白这个公式,但是可以理解,因为墨卡托投影在极点处会无限拉伸,所以不能显示。

参考

陈志强同学-b站课程 - 投影

墨卡托投影是怎么把一个“球”变成一张“图纸”的呢?

Web Mercator 公开的小秘密

投影、坐标与瓦片

小结

  • 地图投影是将地球投影到一个平面上,以便展示地球上的数据;
  • 地图投影有很多种,每种投影都有自己的优缺点;
  • 墨卡托投影是一种等角投影,保持角度不变,适合航海、飞行等需要方向准确的领域;
  • Web 墨卡托投影是一种等角投影,保持角度不变,但是会有面积变形,纬度越高变形越严重,适合 web 地图展示。

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

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

相关文章

由 Vault 支持的 KES 的 MinIO Operator

为了提供安全锁定和擦除的合规性功能,MinIO 使用服务器端加密 (SSE) 在存储层加密对象,以保护对象作为写入操作的一部分。MinIO 以极高的效率做到这一点——基准测试表明 MinIO 能够以接近线速进行加密/解密。 MinIO 使用的秘诀是…

【头歌】HBase扫描与过滤答案 解除复制粘贴限制

解除复制粘贴限制 当作者遇到这个限制的时候火气起来了三分,然后去网上搜索答案,然后发现了一位【碳烤小肥肠】居然不贴代码,XX链接,贴截图,瞬时火气冲顶,怒写此文 首先启动万能的控制台,然后C…

帕金森综合征的预防方法

帕金森综合征是一种慢性神经退行性疾病,目前尚无法彻底治愈。然而,通过采取一些预防措施,可以降低患病风险或延缓病情发展。以下是一些基于最新研究和医学建议的预防方法: 健康饮食:保持低盐、低脂饮食,多吃…

SQL新手蜕变:掌握这20条常用SQL语句,让你也能成为高手!

序言 在现代软件开发中,SQL(Structured Query Language,结构化查询语言)作为与数据库交互的标准编程语言,是每个开发者必学的基础技能。掌握SQL并在数据库管理与数据分析中应用自如,能显著提升开发效率和数…

语音相关算法学习整理

最近看了一下百度paddlespeech的一些公开课,把课程里的视频内容大体听了一下,现在整理一下笔记。教程链接见:飞桨AI Studio星河社区-人工智能学习与实训社区 语音识别的过程可以这样简单概括: 将声音信号经过预加重、加窗、fft等…

蓝牙数传芯片TD5325A,蓝牙5.1—拓达半导体

拓达TD5325A芯片是一款支持蓝牙BLE&SPP的纯数传芯片,蓝牙5.1版本。芯片的亮点在于性能强,支持APP端直接对芯片做设置与查询操作,包括修改蓝牙名、UUID、MAC地址,以及直接操作蓝牙芯片自身的IO与PWM口,还包括支持简…

开发产品要遵循这些「关键规则」

目录 简介 关键规则 第一点:了解产品的操作使用环境 第二点:尽可能计划将来的功能 第三点:静电 ESD 保护 第四点:尽早考虑 BOM 成本 第五点:开发文件管理(原理图、BOM、代码等) 产品资源…

如何使用Excel与Outlook实现邮件群发:详细教程

引言 在工作中,我们经常需要发送大量邮件。手动发送既费时又容易出错。本教程将教你如何使用Excel和Outlook,通过简单的VBA代码实现邮件的自动群发,提高工作效率。 准备工作 在开始之前,你需要确保以下工具已经安装在电脑上&am…

1969python房屋租赁管理系统mysql数据库Flask结构BootStrap布局计算机软件工程网页

一、源码特点 python Flask房屋租赁管理系统是一套完善的web设计系统mysql数据库 ,对理解python编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 python flask 房屋租赁管理系统 开发环境pycharm mysql …

1958springboot VUE宿舍管理系统开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 springboot VUE宿舍管理系统是一套完善的完整信息管理类型系统,结合springboot框架和VUE完成本系统,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发) ,系统具有完整的源代码和数…

QML 列表,图片展示(一)

文章目录 1.QML 列表,图片展示效果图2.项目基本说明3.项目详解3.1界面显示部分3.2 网络部分 4.源代码5.flickr图片查询链接,后面我们将调整代码,获取更多图片 1.QML 列表,图片展示效果图 2.项目基本说明 该项目来自Qt示例程序 Ph…

目前哪个充电宝品牌比较好?四款优质充电宝分享

在电量成为现代生活不可或缺的生产资源的时代,选择一款优质的充电宝无疑是保证移动设备持续运作的关键。面对市场上众多品牌和型号的充电宝,消费者在选择时可能会感到困惑和迷茫。本文将为您揭示哪些品牌真正代表了耐用性和质量的典范,让自己…

使用 LangServe 构建和部署 MinIO 支持的 LangChain Agent API

我们在LangChain的创新世界中的旅程揭示了其在转变数据管理和应用程序功能方面的强大能力。 通过之前的讨论,我们深入探讨了几个主题,同时探索了LangChain的复杂功能。在本文中,我们将以“使用 MinIO 赋能 Langchain 代理”中涵盖的概念为基…

数学建模系列(4/4):Matlab建模实战

目录 引言 1. Matlab简介与安装 1.1 Matlab简介 1.2 Matlab的安装 2. Matlab基础操作 2.1 Matlab基础语法和常用命令 2.2 Matlab中的数据类型和数据结构 3. 用Matlab进行建模 3.1 矩阵运算与线性代数 矩阵运算 3.2 Matlab中的绘图功能 绘制2D图形 绘制3D图形 3.3…

AI视频教程下载-用LangChain 开发 OpenAI、 LLAMA 、 Gemini 等AI应用

LangChain MasterClass- OpenAI LLAMA 2 GPT LLM Apps__ Python(LangChain MasterClass-Develop 7 OpenAI LLM Apps using Python) 探索LangChain、Pinecone、OpenAI、LLAMA 2及Google Gemini Pro LLM在现实世界中的应用。构建AI应用——拥抱脸&#xff…

VirtualBox出错,从主机复制文件,乱改内容

昨天烧录机器,测试对方更新的一个库: 开始正确。后来莫名其妙崩溃。反复烧了几次,都错误。复制了老版本的库,正常。再改回新版本,崩溃。 于是把整个打包目录给了对方,他一对比,发现文件不对&am…

Linux驱动开发(三)--新字符设备驱动开发 LED驱动开发升级

1、新字符设备驱动原理 使用 register_chrdev 函数注册字符设备的时候只需要给定一个主设备号即可,但是这样会 带来两个问题 需要我们事先确定好哪些主设备号没有使用 会将一个主设备号下的所有次设备号都使用掉,比如现在设置 LED 这个主设备号为200&…

Java学习笔记(一)Java内容介绍、程序举例、DOS命令、Java跨平台特性的本质

Hi i,m JinXiang ⭐ 前言 ⭐ 本篇文章主要介绍Java内容介绍、程序举例、DOS命令、Java跨平台特性的本质详细介绍以及部分理论知识 🍉欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁 🍉博主收将持续更新学习记录获,友友们有任何问题可以在评论区留言 目录 1、内容介绍…

U盘格式化后数据能恢复吗?1分钟了解答案!

“想问问大家如果不小心把u盘格式化后,还有机会恢复吗?一个不小心就按下了格式化按钮,现在后悔莫及,不知道应该怎么操作呢。” U盘就像是一个记忆小盒子,里面装满了珍贵的回忆、重要的文件和无数的心血。但某一天&…

Element 进度条样式优化

在开发后台管理系统时,经常会用到进度条这样一个控件,Element UI中提供了progress这样一个组件,如下图所示: 该组件默认的颜色会比较单一,为此时常需要对该组件的样式进行一些优化,以满足实际项目的需求。 …