【3D基础】坐标转换——地理坐标投影到平面

汤国安GIS原理第二章重点 

1.常见投影方式

https://download.csdn.net/blog/column/9283203/83387473

  1. Web Mercator投影(Web Mercator Projection)

    • 优点
      • 在 Web 地图中广泛使用,易于显示并与在线地图服务集成。
      • 在较小的地图范围内,变形相对较小。
    • 缺点
      • 在极地区域存在严重的变形问题。
    • 用途
      • 在 Web 地图应用中使用,例如 Google Maps、OpenStreetMap 等。
  1. 兰伯特投影(Lambert Projection)

    • 优点
      • 保持了等角性和等距离性,适用于绘制大范围的地图。
      • 在航海和地图制图中广泛使用。
    • 缺点
      • 在极地区域存在较大的变形问题。
    • 用途
      • 在航海、地图制图和导航中使用,可以准确表示大圆航线和等距航线。
  2. 高斯-克吕格投影(Gauss-Krüger Projection)是一种用于平面坐标系的投影方法,通常用于大范围地图的制图。它是一种柱面等角投影,旨在在一定的纬度范围内保持角度的相对大小。以下是关于高斯-克吕格投影的一些特点:
  • 应用:高斯-克吕格投影广泛应用于各种地图制图和测量应用中,特别是在德国和其他欧洲国家,以及一些其他地区。

2.javascript中进行投影

在JavaScript中将球面坐标系中的经纬度点转换为笛卡尔坐标系中的二维坐标点通常涉及到球面投影的概念。一种常见的球面投影是经纬度坐标转换为平面坐标的墨卡托投影(Mercator Projection),这里简单介绍一下该投影的实现方式:

function latLngToCartesian(lat, lng) {var R = 6371000; // 地球半径,单位:米var x = R * lng * Math.PI / 180; // 经度转换为弧度并乘以半径var y = R * Math.log(Math.tan((90 + lat) * Math.PI / 360)); // 纬度转换为弧度并乘以半径,再取对数return { x: x, y: y };
}// 示例用法
var lat = 40.7128; // 纬度
var lng = -74.0060; // 经度
var cartesianPoint = latLngToCartesian(lat, lng);
console.log(cartesianPoint);

上述代码中的 latLngToCartesian 函数将经纬度坐标转换为笛卡尔坐标系中的二维坐标点。其中,lat 表示纬度,lng 表示经度,函数返回一个包含 xy 属性的对象,分别表示转换后的笛卡尔坐标系中的 x 和 y 坐标。

需要注意的是,墨卡托投影在纬度接近极端(北极或南极)时会产生失真,因此在某些应用场景下可能需要选择其他投影方式。

在JavaScript中,实现不同的地图投影方式涉及到一些复杂的数学计算。以下是几种常见的地图投影方式及其对应的 JavaScript 库:

  1. 墨卡托投影(Mercator Projection)

    • 该投影将地球表面的经纬度坐标转换为平面上的 x 和 y 坐标。
    • 可以使用 proj4js 库来实现墨卡托投影。
  2. Web Mercator投影(Web Mercator Projection)

    • 这是一种广泛用于 Web 地图的投影方式,Google Maps 和 OpenStreetMap 等地图服务都使用该投影。
    • 你可以使用 proj4js 或 leaflet 库中的内置函数来进行 Web Mercator 投影。
  3. 极坐标投影(Polar Coordinate Projection)

    • 用于处理极地区域的地图投影方式,通常在极地地区使用。
    • proj4js 支持一些极坐标投影,但一般情况下很少使用。
  4. 等距离投影(Equal-Distance Projection)

    • 保持了从地球表面到投影平面上点之间的距离不变,常见的包括 Lambert 等距离投影。
    • proj4js 支持许多等距离投影。
  5. 等面积投影(Equal-Area Projection)

    • 保持了地图上面积的比例与地球上面积的比例相同,通常用于制图和地图分析。
    • proj4js 和 d3-geo 都支持一些等面积投影。

根据你的具体需求和项目情况,选择合适的投影方式和相应的 JavaScript 库来实现地图投影转换

Proj4js is a JavaScript library to transform point coordinates from one coordinate system to another, including datum transformations. Originally a port of PROJ (then known as PROJ.4) and GCTCP C (Archive) it is a part of the MetaCRS group of projects. 

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

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

相关文章

RS2057XH功能和参数介绍及规格书

RS2057XH 是一款由润石科技(Runic Semiconductor)生产的模拟开关芯片,其主要功能和参数如下: 产品特点: 低电压操作:支持低至1.8V的工作电压,适用于低功耗应用。 高带宽:具有300MHz的…

linux学习:线程池

目录 原理 初始线程池 运行中的线程池 相关结构体 api 线程池初始化 投送任务 增加活跃线程 删除活跃线程 销毁线程池 例子 thread_pool.h thread_pool.c test.c 测试程序 原理 一个进程中的线程就好比是一家公司里的员工,员工的数目应该根据公司的…

展厅设计中的时光隧道装置是什么?有何独特应用优势?

在当今多媒体互动技术蓬勃发展的时代,各类创新的内容呈现手段层出不穷。其中,时光隧道互动装置以其独特的方式,极大地丰富了内容的表达并提升了用户体验,它能够将参观者引领至一个多维度的感官世界,让其身临其境地感受…

超详细——集成学习——Adaboost——笔记

资料参考 1.【集成学习】boosting与bagging_哔哩哔哩_bilibili 集成学习——boosting与bagging 强学习器:效果好,模型复杂 弱学习器:效果不是很好,模型简单 优点 集成学习通过将多个学习器进行结合,常可获得比单一…

前端基础学习html(1)

1.标题标签.h1,h2...h6 2.段落标签p 换行标签br 3.加粗strong(b) /倾斜em(i) /删除 del(s) /下划线ins(u) 4.盒子:div //一行一个 span//一行多个 5.img :src alt title width height border 图片src引用:相对路径 上级/同级/中级 绝对路径&#xff…

Linux用户日志审计系统

标题日期版本说明作者 用户日志审计系统 2024.05.06v.0.0.1权限lgb 测试环境:CentOS Stream 9 测试过程: 测试开始前,首先我们先建立一个用户。 将文件备份。 我们通过vim编辑器,打开 /etc/profile 文件进行编辑。 将提前编辑好…

win中python中OpenCV使用cv2.imshow()报错的解决办法

1. 问题 cv2.error: OpenCV(4.9.0) D:\a\opencv-python\opencv-python\opencv\modules\highgui\src\window.cpp:1272: error: (-2:Unspecified error) The function is not implemented. Rebuild the library with Windows, GTK 2.x or Cocoa support. If you are on Ubuntu o…

简单介绍IIC通信协议

文章目录 一,简单介绍二,IIC物理层三,IIC通信时序1.起始位与停止位2.IIC读写地址位信号3.IIC应答信号4.IIC数据位收发信号 四,总线速率五,主机发送数据流程六,主机接收数据流程七,IIC的时钟延展…

力扣每日一题-去掉最低工资和最高工资后的工资平均值-2024.5.3

力扣题目:去掉最低工资和最高工资后的工资平均值 开篇 题目链接: 1491.去掉最低工资和最高工资后的工资平均值 题目描述 代码思路 太简单了。先利用sort排序对数组进行从小到大排序,然后计算时数组最小值和最大值不要加进去即可。 代码纯享版 clas…

《HCIP-openEuler实验指导手册》2.1安装和测试Nginx

知识点 Nginx (发音为 “engine x”) 是一个开源的高性能 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。由 Igor Sysoev 创建并维护,其设计用于处理高并发连接,具有高度的可扩展性和灵活性。 安装步骤 yum方式安装 dn…

交通 | TRC综述:充电站选址-求解与探讨

论文作者:Mouna Kchaou-Boujelben 论文原文:Kchaou-Boujelben, M. (2021). Charging station location problem: A comprehensive review on models and solution approaches. Transportation Research Part C: Emerging Technologies, 132, 103376. 推…

分享几个副业,一天搞100~200不成问题,一不小心收益比你主业还多

每次家庭聚会,总是那些老掉牙的话题在耳边萦绕:“孩子,你工资多少啊?买车买房了吗?”仿佛只有按部就班地上班、结婚生子,才是人生的唯一出路。 然而,在这个充满机遇的时代,谁说“不上…