经纬度丢失计算距离

1.纬度相同,经度不同
在纬度相同的情况下:
经度每隔0.00001度,距离相差约1米;
每隔0.0001度,距离相差约10米;
每隔0.001度,距离相差约100米;
每隔0.01度,距离相差约1000米;
每隔0.1度,距离相差约10000米。
2.经度相同,纬度不同
纬度每隔0.00001度,距离相差约1.1米;
每隔0.0001度,距离相差约11米;
每隔0.001度,距离相差约111米;
每隔0.01度,距离相差约1113米;
每隔0.1度,距离相差约11132米。

最近需要做地图的一些功能,其中有一点是需要计算 两点间的距离,网上其实大多都是使用如下方法1

方法1

function Rad(d){return d * Math.PI / 180.0;}
function getDistance(lat1,lng1,lat2,lng2){var radLat1 = Rad(lat1);var radLat2 = Number(Rad(lat2));var a = Number(radLat1 - radLat2);var  b = Rad(lng1) - Rad(lng2);var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a/2),2) + Math.cos(radLat1)*Math.cos(radLat2)*Math.pow(Math.sin(b/2),2)));s = s *6378.137 ;s = Math.round(s * 10000) / 10; return s;}

方法2

利用三角形的勾股定理,假设成两点的坐标就是平面直角坐标系的横纵坐标,求两点的距离 就是利用勾股定理去,(x2-x1)2 +(y2-y1)2 再进行开根.但是与坐标系中的横纵坐标不同的是,经纬度的距离是不太统一的,经度每隔0.1度,距离相差约10000米,每隔0.1度,距离相差约11132米,所以最后需要经度方向的距离和纬度方向的距离需要统一转换为m,这样才比较准确.

计算点到直线的距离,可以利用海伦公式 根据三边距离求出三角形面积,再由三角形面积求出高,高就是点到直线的距离.

public class DistanceUtils{//计算A,B两点的距离,(lng1,lat1)为点A的经度和纬度,(lng2,lat2)为点B的经度和纬度public static double getDistance(double lng1,double lat1,double lng2,double lat2){double lngDistance = Math.round((lng1-lng2)*100000);  //经度方向的距离差 单位mdouble latDistance = Math.round((lat1-lat2)*111320); //纬度方向的距离差 单位mreturn Math.sqrt(Math.pow(lngDistance,2)+Math.pow(latDistance,2));}
}

根据地图经纬度计算两点间的距离相关推荐

  1. 经纬度互换、换算成米、两点的经纬度计算两点间的距离

    经纬度互换 度(DDD):E 108.90593度    N 34.21630度 如何将度(DDD):: 108.90593度换算成度分秒(DMS)东经E 108度54分22.2秒?转换方法是将108 ...

  2. ArcGIS操作系列14- 经纬度互换、换算成米、两点的经纬度计算两点间的距离

    1. 经纬度互换 度(DDD):E 108.90593度    N 34.21630度 1.1  如何将度(DDD):: 108.90593度换算成度分秒(DMS)东经E 108度54分22.2秒? ...

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

    Java实现 public final class DistanceUtils {/*** 地球半径,单位 km*/private static final double EARTH_RADIUS = ...

  4. 百度地图 地理位置 转 经纬度 计算两点间的距离

    调用百度地图转成经纬度 百度地图web-api地址 tp 位置转经纬度 function getMap($address){$ak = config('common.map.ak');$url = c ...

  5. 根据地球上任意两点的经纬度计算两点间的距离

    http://blog.chinaunix.net/u/6776/showart_694778.html 地球是一个近乎标准的椭球体,它的赤道半径为6378.140千米,极半径为6356.755千米, ...

  6. mysql数据库通过高德地图经纬度计算两点之间的距离

    计算下面两个点的距离 106.711574,26.573862 107.152022,27.658974 SELECT PI() pi, ACOS(SIN((PI() / 180) * 26.5738 ...

  7. 地理大圆距离 C语言,通过经纬度计算两点之间的距离

    2019独角兽企业重金招聘Python工程师标准>>> 项目里有一个需求是计算两台机器之间的距离,有了这两台机器的经纬度,距离就很好计算了. 有一个 球面余弦定律 可以用来可以计算球 ...

  8. 通过经纬度计算两点间的直线距离

    /*** @description 通过经纬度计算两点间的直线距离* @param lat1* @param lng1* @param lat2* @param lng2* @returns {num ...

  9. matlab利用经纬度计算距离_【Matlab】根据经纬度计算两点间的球面距离

    做建模或者研究空间数据,可能会遇到"根据经纬度计算两点间的球面距离"的问题,网上的资料很多,都是各种公式推导,但是一旦按公式编程计算,很可能得不到正确的距离.根本原因是在" ...

最新文章

  1. php正则判断不规范字符串,php学习_第9章_字符串处理与正则表达式
  2. Vue响应式数据: Observer模块实现
  3. 最全的BAT大厂面试题整理,系列篇
  4. 前端学习(2487):在VUE中使用element-ui的el-select组件时出现该报错
  5. Android 视频通话
  6. ftp服务器需要什么系统,ftp服务器需要什么系统
  7. 大寨鸿蒙系统的电器,华为传来两个好消息,鸿蒙OS大时代将于6月2日正式开启...
  8. 陶陶摘苹果(信息学奥赛一本通-T1103)
  9. heroku服务器_如何在Heroku上使用Express服务器部署React应用
  10. 深入探索android热修复技术原理_打卡活动:技术书籍书单
  11. 计算机课程表教案,计算机专业课程表
  12. JavaSE_1   基本概念
  13. CocoaPods管理iOS项目 2018年11月06日
  14. 矢量图形设计工具Artboard快捷键汇总
  15. 在Ubuntu下后台持续运行Python程序
  16. NERO-光盘刻录程序教程集
  17. php数据库操作类库doctrine使用全攻略
  18. php获取用户访问的dns,dnsproxy in php
  19. 史上最全!支持EOS映射的交易所统计|关于EOS映射,你想知道的都在这
  20. Bootstrap的aria-label和aria-labelledby

热门文章

  1. Firefox 清除缓存
  2. php如何获取cookie,怎么获取cookie的值
  3. AD 域控同步相关命令
  4. 谷歌眼镜Mirror API Reference之Timeline
  5. 华为2013年 机考 单词统计
  6. 无法从该家庭组删除你的计算机,教你win10系统家庭组无法退出的解决教程
  7. 提取加密文件中的pdf
  8. Android拨打、接听、挂断电话操作
  9. CPU、核数和线程数的关系
  10. 3款血压仪PK:看看小米联合出品怎么样?