Js 根据经纬度坐标计算方位角
azimuthUtils
项目源码链接如下:Gitee项目链接
介绍
利用经纬度坐标,求解方位角【JS实现】
安装教程
本实现只用到了一个库 Threejs,Threejs主要用于实现3D场景,本实现利用Three.js中的一些工具类,进行数据转换
安装Threejs
npm install three --save
使用案例
//引入Threrjs
const THREE=require('three') //npm install three --save
// import * as THREE from 'three'
//用例数据var lonlat0 = [ 34.80770804146611, 113.55585694313051] //参照点var lonlat1 = [ 34.807743270320515, 113.55691373348238] //东var lonlat2 = [ 34.807139974109454, 113.55676352977753] //东南var lonlat3 = [ 34.807003461215416, 113.55584621429445] //南var lonlat4 = [ 34.807126763194105, 113.55516493320467] //西南var lonlat5 = [ 34.80772125228826,113.5548484325409] //西var lonlat6 = [34.80861958322779, 113.55479478836061] //西北var lonlat7 = [ 34.80863719746204,113.55581402778627] //北var lonlat8 = [ 34.80850949417833, 113.5569351911545] //东北
// lon1经度 lat纬度
//lonlat1 坐标1
//lonlat2 坐标2
function azimuth(lonlat1, lonlat2) {var lon1=THREE.MathUtils.degToRad(lonlat1[1])var lat1=THREE.MathUtils.degToRad(lonlat1[0])var lon2=THREE.MathUtils.degToRad(lonlat2[1])var lat2=THREE.MathUtils.degToRad(lonlat2[0])if(lon1==lon2){if (lat2 >= lat1){return 0}else{return 180 }}if (lat1 == lat2){if(lon2 > lon1 ){return 90}else if(lon2 < lon1){return 270}}var a = THREE.Math.radToDeg(Math.atan((lon2 - lon1) * Math.cos(lat2) / (lat2 - lat1)))if(lat2 > lat1){if(lon2 > lon1){return a}else{return a + 360}}else{return a + 180}
}console.log("东",azimuth(lonlat0, lonlat1) )
console.log("东南",azimuth(lonlat0, lonlat2) )
console.log("南",azimuth(lonlat0, lonlat3) )
console.log("西南",azimuth(lonlat0, lonlat4) )
console.log("西",azimuth(lonlat0, lonlat5) )
console.log("西北",azimuth(lonlat0, lonlat6) )
console.log("北",azimuth(lonlat0, lonlat7) )
console.log("东北",azimuth(lonlat0, lonlat8) )
执行该程序
node .\index2.js
方位坐标系参照如下
结果如下
东 87.67505557361658
东南 127.34881807813873
南 180.7163204119453
西南 224.34785264592313
西 270.91401595485104
西北 316.26689801310204
北 357.8282236159254
东北 47.8461480246868
Js 根据经纬度坐标计算方位角相关推荐
- 依据地图上的经纬度坐标计算某个点到多边形各边的距离
http://www.th2w.com/article/85 依据地图上的经纬度坐标计算某个点到多边形各边的距离 最近公司有一个需求:依据地图上的经纬度坐标计算某个点到多边形各边的距离. 主要原理: ...
- matlab如何测两点的角度_根据2点经纬度,计算方位角,以及计算2条线的夹角
以真北为0度起点,由东向南向西顺时针旋转360度,主要是用于控制象限. 根据2点经纬度,计算方位角 [csharp] /// /// 给定2点,获得经纬度 /// /// 起点经纬度,都是以度为单位 ...
- 根据2点经纬度,计算方位角,以及计算2条线的夹角
项目场景1:根据2点经纬度,计算方位角 以真北为0度起点,由北向东向南向西顺时针旋转360度,主要是用于控制象限. 提示:这里简述项目相关背景: [csharp] <summary> // ...
- 已知点的经纬度坐标计算/读取DEM高程信息/海拔高度
已知点的经纬度坐标计算/读取DEM高程信息/海拔高度 思路 环境 依赖 安装GDAL 安装依赖包 测试GDAL 数据依赖 python代码 参考 思路 实现条件 1.GDAL库 2.DEM数据 开发语 ...
- 根据经纬度坐标计算实际距离
double hypot( double x, double y) ... { return sqrt(x * x + y * y); } double distance( d ...
- python学习-108-根据经纬度坐标计算距离
前言: 根据经纬度坐标计算两点距离,并不能直接使用欧氏距离,因为经纬度是在曲面上的要计算弧度的影响.因此本文根据经纬度坐标公式代码实现. 参考链接: https://blog.csdn.net/xie ...
- 计算坐标点的距离计算机公式,使用经纬度坐标计算多个点之间距离的Excel公式...
我目前正在制定一个带有两个表格的模拟数据库架构:Booking和Waypoint.使用经纬度坐标计算多个点之间距离的Excel公式 预定存储出租车预订信息. 航点存储该拾取和在行程中脱落点,与纬度经度 ...
- php经纬度换算距离,PHP根据经纬度坐标计算距离
PHP根据经纬度坐标计算距离 在有些应用中需要用到计算距离的功能,例如附近的商家.离我最近等功能. W为纬度对应的弧度,J为经度对应的弧度,如上图所示 下面代码 lat是纬度 lng是经度 看类代 ...
- 给定经纬度计算距离_通过经纬度坐标计算距离的方法(经纬度距离计算)ZZ
通过经纬度坐标计算距离的方法(经纬度距离计算) 最近在网上搜索"通过经纬度坐标计算距离的方法",发现网上大部分都是如下的代码: #define PI 3.14159265 stat ...
最新文章
- 【PC工具】更新常用USB转串口芯片MAC驱动,CH340G驱动安装有可能遇到的问题及解决办法...
- ASP.NET MVC 在控制器中获取某个视图动态的HTML代码
- 将JAR依赖项添加到Eclipse插件Maven Tycho构建
- “全人类的知识宝藏”维基百科迎来了20岁的生日!
- 计算机休眠能降低硬件损耗,Win7居然会出现“失眠”——Win7无法休眠问题解析...
- 如何跟成功的男人谈恋爱?
- 【洛谷P3369】 (模板)普通平衡树
- C语言简易学生管理系统(含源码)
- 【外刊阅读】1. There is no “gay gene“
- DELPHI XE10 fmx表格控件Grid单元格根据内容值来设置颜色
- 分布式计算 lab2 Java RMI
- javascript机器学习
- 关于快递查询接口的实现
- python键盘控制_Python 键盘/鼠标控制
- 中国好生意 经典论述:哈林是来主持的,刘欢是来开家长会的,那英是来唠嗑的,杨坤是来做宣传的,而......
- 数字图像处理(5)- 图像恢复
- 基于全生命周期的主数据管理:MDM详解与实战学习02 第二章 主数据管理的内涵
- 排队叫号医院管理源码
- 一种的STM32的应用喂狗方法
- 大数据培训技术使用spark对phoenix的读写