经纬度和坐标之间的相互转换

  • 经纬度转坐标
  • 代码
  • 坐标转经纬度

经纬度转坐标

经纬度(Latitude and Longitude)和坐标(Cartesian coordinate system)之间的转换可以通过数学公式来实现。

将经纬度转换成坐标:

假设需要将经纬度(latitude,longitude)转换成平面坐标(x,y),其中经度为 longitude,纬度为 latitude,地球半径为 R(6371km),则可以使用以下公式:

x = R * cos(latitude) * cos(longitude)
y = R * cos(latitude) * sin(longitude)

其中,经度和纬度都是用弧度表示的。这个公式假设地球为一个完美的球体(尽管实际上地球的形状是略微扁平的),但对于大多数应用来说,这个假设足够精确了。

例如,将经度为 30.2672,纬度为 -97.7431 的坐标转换为平面坐标,假设地球半径为 6371km,则可以通过以下代码实现:

代码

const lat = -97.7431 * Math.PI / 180;
const lng = 30.2672 * Math.PI / 180;
const R = 6371;
const x = R * Math.cos(lat) * Math.cos(lng);
const y = R * Math.cos(lat) * Math.sin(lng);
console.log(x, y); // 输出 2565.6721748380895, 4291.611282443771

坐标转经纬度

将坐标转换成经纬度:

假设需要将平面坐标(x,y)转换成经纬度(latitude,longitude),同样假设地球半径为 R(6371km),则可以使用以下公式:

latitude = asin(y / R)
longitude = atan2(x, y)

其中,asin 函数的值为弧度制,所以需要将其转化为角度(degrees)制;atan2 函数的值为角度制。经度的范围是 -180 到 180 度,纬度的范围是 -90 到 90 度。

例如,假设已知坐标 (2565.6721748380895, 4291.611282443771),将其转换为经度为 30.2672,纬度为 -97.7431 的坐标:

const x = 2565.6721748380895;
const y = 4291.611282443771;
const R = 6371;
const lat = Math.asin(y / R) * 180 / Math.PI;
const lng = Math.atan2(x, y) * 180 / Math.PI;
console.log(lat, lng); // 输出 -97.74307975452085, 30.26720173968211

经纬度和坐标之间怎么相互转换相关推荐

  1. gps两点距离 php,PHP应用:PHP计算百度地图两个GPS坐标之间距离的方法

    <PHP应用:PHP计算百度地图两个GPS坐标之间距离的方法>要点: 本文介绍了PHP应用:PHP计算百度地图两个GPS坐标之间距离的方法,希望对您有用.如果有疑问,可以联系我们. 本文实 ...

  2. oracle如何计算2个坐标的距离,百度地图两个坐标之间的距离计算

    /** * 计算两组经纬度坐标 之间的距离 * params :lat1 纬度1: lng1 经度1: lat2 纬度2: lng2 经度2: len_type (1:m or 2:km); * re ...

  3. php 地图 距离,PHP计算百度地图两个GPS坐标之间距离的方法

    这篇文章主要介绍了PHP计算百度地图两个GPS坐标之间距离的方法,是针对百度地图接口开发的典型应用,需要的朋友可以参考下 本文实例讲述了PHP计算百度地图两个GPS坐标之间距离的方法.分享给大家供大家 ...

  4. 百度地图多个兴趣点(经纬度、坐标点)需要同时显示在地图上,如何设置自动缩放等级

    如果有多个兴趣点(经纬度.坐标点)需要同时显示在地图上,如何设置缩放比例.如果缩放太细,那么一个屏幕放不下,如果缩放太粗,显示就太密集.需要在程序中根据点的分布来设置. 百度地图Android SDK ...

  5. 根据经纬度获取两点之间的距离 -- 腾讯地图(PHP后台)

    项目需求:根据经纬度获取两点之间的距离,我这里用的是腾讯地图的api php代码: /*** 利用腾讯地图api* 计算两点地理坐标之间的距离*/function getDistance(){$key ...

  6. 微信小程序通过经纬度计算两点之间距离

    小程序中通过经纬度计算两点之间的距离km 1.拾取两地经纬度坐标 . data:{//当前定位位置latitude: null,longitude: null,// 目的地坐标latitude2: 1 ...

  7. Java根据经纬度计算两点之间的距离

    1. 前言   在我们平时使用美团,饿了么等app进行订餐,或者使用猫眼进行订电影票的时候,都有一个距离的排序,表明该家店距离我们当前的位置,这种基于地理位置的服务,统一被称为LBS(Location ...

  8. U3D屏幕坐标,世界坐标,像素坐标之间的关系

    U3D屏幕坐标,世界坐标,像素坐标之间的关系 U3D中,屏幕坐标和世界坐标单位一样,二者之间是直接的一一对应关系,不受屏幕分辨率影响.默认情况下屏幕空间画布的左下角坐标是世界原点(0,0,0),这种情 ...

  9. php 如何根据经纬度计算距离,小程序实例:如何根据经纬度计算两点之间的距离(代码)...

    本篇文章给大家带来的内容是关于小程序实例:如何根据经纬度计算两点之间的距离(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助.//计算两点位置距离 getDistance: fun ...

最新文章

  1. starrocks问题小结
  2. c#直接调用ssis包实现Sql Server的数据导入功能
  3. jetbrains intellij IDEA 常用插件和配置
  4. Zend Framework 的 PHP 编码标准
  5. 安徽省计算机二级考试vfp试题,安徽省计算机二级VFP考试理论模拟试题2(附答案)...
  6. mardown 标题带数字_标题中带有数字的故事更成功吗?
  7. JS格式化数字保留两位小数点—toFixed()
  8. 大数据之-Hadoop3.x_MapReduce_区内排序案例---大数据之hadoop3.x工作笔记0117
  9. 麦克纳姆轮全向移动机器人运动模型及应用分析
  10. 20、C++ Primer 4th 笔记,重载运算符(1)
  11. Qt QDebug 打印自定义结构体
  12. 20行Python代码爬取王者荣耀全皮肤
  13. 感性电路电流计算_如何计算电机的电流?跟转速有关系吗?附案例分析
  14. 图像处理领域术语英文对应
  15. java 表格识别_OpenCV3 识别图中表格-JAVA 实现
  16. vue项目中使用@babel/plugin-proposal-optional-chaining的?.语法,防止字段没有报错
  17. elementUI分页删除最后一页数据时跳转回上一页并且el-table序号递增
  18. rpx单位的换算的过程
  19. 关于 Word 如何创建临时文件的说明
  20. 地理信息系统软件工程技术

热门文章

  1. 6 Vue 原理(SY)
  2. 【C/C++】C++代码质量检核工具-cppcheck
  3. 腾讯云对象存储空间分片、断点续传功能的封装与使用
  4. 热加工作业考研题目答案分享——Joining processes 4
  5. 高斯消去法与列主元消去法
  6. git命令--切换分支
  7. .NET开发十大常用工具软件分享
  8. 客户无盘系统服务器内存,无盘服务器内存大小
  9. 聊聊C10K问题及解决方案
  10. c 语言 如何设置串口波特率,串口自动波特率设置程序