主要目的:

在处理卡口数据的过程中,遇到了一个问题:对于每个交叉口只知道其中心点的经纬度,而不知道每个进口道停车线的经纬度,对不同的进口道,难以将轨迹数据分开处理。
因此,采用了一种简化的方法,假设了每个交叉口中心点到每个停车线的距离为m米,根据相邻的两个交叉口中心经纬度,计算了路段方位角,进而根据交叉口中心点到每个停车线的距离、路段走向方位角、路段中心店经纬度这三个信息,计算出了每个进口道停车线的经纬度。其中用到的代码如下:

1.根据起始点经纬度、目标点经纬度计算它们之间的方位角

def calc_azimuth(lat1, lon1, lat2, lon2):lat1_rad = lat1 * math.pi / 180lon1_rad = lon1 * math.pi / 180lat2_rad = lat2 * math.pi / 180lon2_rad = lon2 * math.pi / 180y = math.sin(lon2_rad - lon1_rad) * math.cos(lat2_rad)x = math.cos(lat1_rad) * math.sin(lat2_rad) - \math.sin(lat1_rad) * math.cos(lat2_rad) * math.cos(lon2_rad - lon1_rad)brng = math.atan2(y, x) * 180 / math.pireturn float((brng + 360.0) % 360.0)

2.根据起始点经纬度、距离、方位角计算目标点经纬度

参考了这篇博客的计算方法:https://blog.csdn.net/sinat_32857543/article/details/107207553

def calc_situation(lon1, lat1, deg, dis):arc = 6371.393*1000lon2 = lon1 + dis*math.sin(deg)/(arc*math.cos(lat1)*2*math.pi/360)lat2 = lat1 + dis*math.cos(deg)/(arc*2*math.pi/360)return lon2,lat2

注意:距离dis的单位是米,deg是方位角,需要化为弧度。lon1,lat1是起始点经纬度信息。

根据起始点经纬度、距离、方位角计算目标点经纬度的方法相关推荐

  1. 根据起始点经纬度、方向、距离,计算目标点经纬度

    以为有公式,百度不到,谷歌的看不懂(再次强调英文重要性),咬牙自己算,就当做小学数学题了. 注:自己随便写的,仅作参考... #include <iostream> #include &l ...

  2. 计算器计算经纬距离_经纬度距离角度计算工具

    经纬度距离角度计算器是一款经纬度计算工具,该软件可以快速计算出航图上任意两点之间的距离和任意三点所成夹角的角度,准确性非常高,而且使用期开也很简单,用户只需要输入两个地点的经纬度软件就可以计算出标准的 ...

  3. php 经纬度 距离排序,php mysql 根据经纬度计算距离和排序

    #1.两点距离(1.4142135623730951) select st_distance(point(0,0),point(1,1)); select st_distance(point (120 ...

  4. c#语言+计算两个位置的距离,C#计算两个经纬度之间的距离

    最近在项目中有一个功能需要计算两个经纬度之间的距离,在网上找了很多,也试了很多,下面的计算方法得出的结果是精度是最高,希望对大家有所帮助. private const double EARTH_RAD ...

  5. php 2个经纬度之间的距离,php计算两个经纬度之间的距离

    /** * @desc 根据两点间的经纬度计算距离 * @param $lat1 * @param $lng1 * @param $lat2 * @param $lng2 * @return floa ...

  6. mysql计算两个经纬度之间的距离_mysql计算两个经纬度之间的距离公式

    #1.两点距离(1.4142135623730951)select st_distance(point(0,0),point(1,1));select st_distance(point (120.1 ...

  7. java 判断两个经纬度差异_计算两个经纬度点的实际距离

    一.概述 因为地球是个球形,所以地球上的两个点,实际上是球面上的两个点,要计算这两个点之间的距离,不能简单的通过直角坐标系来计算. 二.计算方法 1.地球半径取近似值 6378.137km 1 /** ...

  8. android计算心率方法,计算目标心率最简单的方法 | 跑者

    摘要 当我们在目标心率区跑步或进行其它锻炼时,我们的身体将会从中获得最大的益处. 当我们在目标心率区跑步或进行其它锻炼时,我们的身体将会从中获得最大的益处.以每分钟心跳次数(bpm)为单位,目标心率是 ...

  9. C++ —— (两个经纬度计算距离、方位角)、(经纬度A+距离+方位,计算目标经纬度)、(多个经纬度计算面积)

      顺看 编码不易,觉得文章好,请给作者点赞关注.一键三连.谢谢!       * 计算两经纬度之间的距离.方位角 * 已知A经纬度.根据距离.方位,计算目标经纬度            测试了三组数 ...

最新文章

  1. matlab pup,matlab利用bar函数画不同颜色直方图
  2. linux内核主要功能模块不包括,嵌入式linux(贺丹丹等编著)课后习题答案
  3. 信息系统项目管理师-项目风险管理考点笔记
  4. PHP中怎样实现正负数的相加,PHP 求任意n个正负整数里面最大的连续和
  5. Qt中的QFileDialog类的几个示范代码
  6. 第一章 计算机网络 4 性能指标 [计算机网络笔记]
  7. 作者:牛新(1983-),男,博士,国防科学技术大学并行与分布处理重点实验室助理研究员...
  8. 孙高飞:人工智能测试_高飞学习钓鱼:为什么好的文档很重要
  9. python + selenium - selenium常用元素定位
  10. 12.Vim 打造成 PHP 开发环境
  11. java 包之 BeanUtils包的使用
  12. socket服务器和客户端的建立步骤
  13. 靶机渗透练习06-driftingblues6 (利用脏牛提权)
  14. 以后在校期间的规划计算机专业的,计算机专业职业生涯规划方案书样本.doc
  15. 如何用QT做串口调试助手Qseriaport类的使用
  16. 宁波诺丁汉计算机博士学费,宁诺1600万元博士奖学金开放申请 PhD scholarships open for application...
  17. 使用superset完成mysql数据库或者hive数据库的数据可视化
  18. C++ 什么是继承和派生
  19. Matlab--蒙特卡洛方法求pi值
  20. Java 基础学习之类集框架 十 (SortedMap 接口)

热门文章

  1. 2021年新规下申请测绘资质甲级、乙级需要满足的条件有哪些?
  2. Excel设置行高列宽单元格为正方形,行列比例
  3. arthas profiler诊断服务性能
  4. python生成单位矩阵_numpy创建单位矩阵和对角矩阵的实例
  5. mysql 批量查找 in_在数据库查询时解决大量in 关键字的方法
  6. 华尔街智商测试 交易员江平的答卷
  7. 计算机运维管理竞赛,设备管理维护技能竞赛试题.doc
  8. pdf压缩工具_18MB秒变1MB,最好用的PDF在线压缩工具
  9. 80%学生的困惑,学完C/C++之后学什么?
  10. 《深入理解计算机系统》 练习题3.9-3.11 移位操作