java -测距工具(经纬度)

news/2024/9/22 12:35:07/

代码

/*** 测距工具* @author qb*/
public class DistanceUtils {/*** 赤道半径*/private static final double EARTH_RADIUS = 6378.137;private static double rad(double d) {return d * Math.PI / 180.0;}/*** Description : 通过经纬度获取距离(单位:米)* Group :** @param originLon      出发点经度* @param originLat      出发点纬度* @param destinationLon 目的地经度* @param destinationLat 目的地纬度* @return double*/@SuppressWarnings("all")public static double getDistance(String originLon, String originLat, String destinationLon,String destinationLat) {double radLat1 = rad(Double.parseDouble(originLat));double radLat2 = rad(Double.parseDouble(destinationLat));double a = radLat1 - radLat2;double b = rad(Double.parseDouble(originLon)) - rad(Double.parseDouble(destinationLon));double 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 * EARTH_RADIUS;// 保留两位小数s = Math.round(s * 100d) / 100d;s = s * 1000;return s;}public static void main(String[] args) {final String longitude = "117.127823";final String dimension = "36.674049";final String longitudeParam = "117.11764544907382";final String dimensionParam = "36.687643568521786";double distance = getDistance(longitude, dimension, longitudeParam, dimensionParam);System.out.println(distance);System.out.println(distance > 200);}}

http://www.ppmy.cn/news/40393.html

相关文章

Segment Anything阅读笔记

Segment Anything 摘要 体验地址 论文地址 代码地址 这篇文章最近有点火,已经有1万多star了 大规模数据集(超过10亿个mask)可以做zero-shot任务 引言 作者问了三个问题: 图像分割成功取决于三个组成部分:任务、模型和数据。…

全国青少年电子信息智能创新大赛(决赛)python·模拟四卷,含答案解析

全国青少年电子信息智能创新大赛(决赛) python 模拟四卷 一、程序题 第一题:描述 科技小组分 2 个小队搜集到西红柿生长的数据信息。2 个小队将数据进行了从小 到大排序: a = [1,3,4,6,7,13,17,21] b = [2,5,6,8,10,12,14,16,18] 请明明将这 2 个小队的数据进行合并,生成为…

UEFI Protocol

一、概述 二、Protocol的定义 1、Protocol是服务器端和客户端之间的一种约定,在软件编程上称为接口,服务器端和客户端通过这个约定信息的互通。 2、服务器端和客户端在UEFI中都是可执行的二进制文件。 3、为了实现这些二进制文件之间的互通,…

远程管理服务器 用户组创建 1(运维笔记)

远程管理服务器 用户组创建 1(运维笔记) 修改跳板机名称: [rootRKUN18 ~]# vim /etc/sysconfig/network [rootRKUN18 ~]# cat /etc/sysconfig/network # Created by anaconda HOSTNAMEjumper-server修改跳板机网络模式为仅主机模式,ssh连接…

动力节点王鹤SpringBoot3笔记——第七章 视图技术Thymeleaf

目录 第七章 视图技术Thymeleaf 前言 7.1 表达式 7.2 if-for 第七章 视图技术Thymeleaf 前言 Thymeleaf 是一个表现层的模板引擎, 一般被使用在 Web 环境中,它可以处理 HTML, XML、 JS 等文档,简单来说,它可以将 JSP 作…

蓝牙耳机哪个品牌好用又便宜?2023便宜耐用的蓝牙耳机推荐

随着蓝牙耳机的受欢迎程度越来越高,其更迭速度也越来越快,各种品牌的蓝牙耳机出现在大众视野。下面,我来给大家分享几款便宜耐用的蓝牙耳机,都极具性价比,一起来看看吧。 一、南卡小音舱Lite2蓝牙耳机 参考价&#xf…

thinkphp之超级无限分类 10行代码

效果图 代码 static public $treeList array(); //存放无限分类结果如果一页面有多个无限分类可以使用 Tool::$treeList array(); 清空/*** 无限级分类* access public * param Array $data //数据库里获取的结果集 * param Int $pid * param Int $count …

Vue3通透教程【十】跨级组件通讯—依赖注入

文章目录🌟 写在前面🌟 provide函数🌟 inject 函数🌟 跨组件通讯🌟 写在最后🌟 写在前面 专栏介绍: 凉哥作为 Vue 的忠实 粉丝输出过大量的 Vue 文章,应粉丝要求开始更新 Vue3 的相…