小编典典

上面Dommer给出的Java代码给出的结果略有不正确,但是如果你正在处理GPS轨迹,则小错误加起来。这是Java中Haversine方法的实现,该方法还考虑了两点之间的高度差。

/**

* Calculate distance between two points in latitude and longitude taking

* into account height difference. If you are not interested in height

* difference pass 0.0. Uses Haversine method as its base.

*

* lat1, lon1 Start point lat2, lon2 End point el1 Start altitude in meters

* el2 End altitude in meters

* @returns Distance in Meters

*/

public static double distance(double lat1, double lat2, double lon1,

double lon2, double el1, double el2) {

final int R = 6371; // Radius of the earth

double latDistance = Math.toRadians(lat2 - lat1);

double lonDistance = Math.toRadians(lon2 - lon1);

double a = Math.sin(latDistance / 2) * Math.sin(latDistance / 2)

+ Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2))

* Math.sin(lonDistance / 2) * Math.sin(lonDistance / 2);

double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));

double distance = R * c * 1000; // convert to meters

double height = el1 - el2;

distance = Math.pow(distance, 2) + Math.pow(height, 2);

return Math.sqrt(distance);

}

2020-03-15

java计算两点距离_Java 使用经度计算两点之间的距离?相关推荐

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

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

  2. 计算N个点和M个点之间的距离

    KNN中,训练样本有train_count个,测试样本有test_count个,每个样本有attr_count个属性.现在需要快速计算test_count个测试样本和train_count个样本之间的 ...

  3. java金额比较大小_JAVA中精确计算金额BigDecimal

    packagecom.chauvet.utils;importjava.math.BigDecimal;importjava.text.DecimalFormat;importjava.text.Nu ...

  4. 圆的周长在java中怎么表示_Java基础之计算圆的周长

    最简单的程序 圆形的周长公式: C=πd=2πr π是圆周率,约等于3.14,公式中r为圆的半径,d为圆的直径 在数学领域,称之为公式,在计算机领域,习惯称之为算法. 算法描述的是,如果要解决一个问题 ...

  5. java用for计算自然常数_Java程序来计算自然数之和

    Java程序来计算自然数之和 在此程序中,您将学习如何在Java中使用for循环和while循环来计算自然数之和. 正数1.2.3 ...称为自然数,其和是从1到给定数的所有数字的结果. 对于n,自然 ...

  6. java编一个漏斗_java – 漏斗分析计算,你如何计算漏斗?

    首先,使用标准SQL,给出您的假设: 有一个简单布局的表EVENTS: EVENTS ----------------------------- SESION_ID , EVENT_NAME , TM ...

  7. java异步获取结果_java获取异步计算的结果

    java Future/Callable/Executors 如何获取一个异步线程的结果呢?使用普通的方法是无法获取异步线程返回结果的,比如继承Thread类.实现Runnable接口这两种方式创建的 ...

  8. java gui 窗口 传值_java – GUI – 在不同窗口之间传输数据(J...

    我已经开始使用bash脚本以及一些java(控制台)和python来满足我的编程需求.想想我将工作整理到某个图形环境的时候,我偶然发现了一个基本的任务,让我现在几个小时都挂了. main函数在启动主应 ...

  9. java 垃圾回收 指针_Java 和 C++ 垃圾回收之间的差别

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1.指针 JAVA语言让编程者无法找到指针来直接访问内存无指针,并且增添了自动的内存管理功能,从而有效地防止了c/c++语言中指针操作失误,如野指针所造成 ...

  10. java包 类 方法_Java中包与包之间方法的调用及其关键字区分(基础)

    最近在写应用时,对包与包之间方法的调用不太清楚,专门看视频和网站后整理了这篇文章,希望对刚入门的同志有所帮助,进入主题. 首先我们先简单看看Java中private.protected.public和 ...

最新文章

  1. 200行代码,一行行教你自制微信机器人
  2. SCCM 2012 R2---安装SCCM 2012 R2
  3. JaveWeb 公司项目(4)----- Easyui的表单验证
  4. HTML5与HTML4的区别
  5. [Spring Framework]学习笔记--Dependency injection(DI)
  6. 湖北师范大学c语言考试题目,湖北师范学院2010期末C语言试卷.doc
  7. ubuntu建立向windows一样的快捷方式
  8. android adb杀死服务,Android app是如何杀掉的
  9. linux 删除in链接,linux - 从TCP_IN删除端口不会从CSF上的外部流量关闭它 - 堆栈内存溢出...
  10. mod_wsgi 的两种模式
  11. Android-01:扫描SD卡以.xxx结尾的文件
  12. Windows RDP协议重大漏洞后发现黑客开始大规模扫瞄
  13. editplus3编辑器颜色修改
  14. Macbook pro/air 2013 late -2014 使用转接卡更换NVME SSD休眠不醒问题的解决办法
  15. 【极限精简888M,老机专用】星岚技术 Win7 x64 深度精简版 V2020.10
  16. 安川机器人示教器按键功能介绍
  17. 宝塔面板 - 通过宝塔面板安装的mysql 默认密码是什么
  18. 修改服务器线路,介绍几种常见的网络服务器线路
  19. Js 实现十六进制颜色值和RGB颜色值转换整理
  20. cass简码大全_cass简码实体对照表

热门文章

  1. 在SUSE 10下安装oracle 11g
  2. mssql2000跟mssql2005共享问题
  3. 文件夹复制删除 C#
  4. tag untag_交换机该怎么理解Hybird中Tag和Untag端口模式?
  5. gd32f303 设计中断优先级_浅谈飞控的软件设计
  6. 第五天:在博客路由中使用登录验证,配置 nginx解决前后端跨域
  7. java利用iText.jar实现jpg转pdf
  8. linux分区用来支持虚拟内存,Linux分区方案
  9. 大专php应用开发期末考试,php程序员笔试题及答案1.doc
  10. easyui combobox自动搜索提示功能