计算两个经纬度的距离

article/2025/8/27 16:40:02

一 点睛

计算两个经纬度的距离的方法这里提供两种。

1 基于 googleMap 中的算法得到两经纬度之间的距离,计算精度与谷歌地图的距离精度差不多。

2 计算中心经纬度与目标经纬度的距离(米)

二 代码

public class LongitudeLatitude {/*** 默认地球半径*/private static double EARTH_RADIUS = 6371000; // 赤道半径(单位m)public static void main(String[] args) {// 西安double lon = 108.93425;  // 当前经度double lat = 34.23053;  // 当前纬度// 北京double lon1 = 116.23128;double lat1 = 40.22077;double dist;double dist2;dist = LongitudeLatitude.GetDistance(lon, lat, lon1, lat1);dist2 = LongitudeLatitude.distance(lon, lat, lon1, lat1);System.out.println("西安到北京的距离:" + dist + " 米");System.out.println("西安到北京的距离:" + dist2 + " 米");}/*** 功能描述:计算两个经纬度的距离** @param lon1 第一点的精度* @param lat1 第一点的纬度* @param lon2 第二点的精度* @param lat2 第二点的纬度* @return 返回的距离,单位m* @author cakin* @date 2021/10/30* @description: 基于googleMap中的算法得到两经纬度之间的距离, 计算精度与谷歌地图的距离精度差不多*/public static double GetDistance(double lon1, double lat1, double lon2, double lat2) {double radLat1 = rad(lat1);double radLat2 = rad(lat2);double a = radLat1 - radLat2;double b = rad(lon1) - rad(lon2);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 * 10000) / 10000;return s;}/*** 转化为弧度(rad)*/private static double rad(double d) {return d * Math.PI / 180.0;}/*** 计算中心经纬度与目标经纬度的距离(米)** @param centerLon 中心经度* @param centerLat 中心纬度* @param targetLon 需要计算的经度* @param targetLat 需要计算的纬度* @return 米*/private static double distance(double centerLon, double centerLat, double targetLon, double targetLat) {double jl_jd = 102834.74258026089786013677476285; // 每经度单位米;double jl_wd = 111712.69150641055729984301412873; // 每纬度单位米;double b = Math.abs((centerLat - targetLat) * jl_jd);double a = Math.abs((centerLon - targetLon) * jl_wd);return Math.sqrt((a * a + b * b));}
}

三 测试

西安到北京的距离:927275.0 米

西安到北京的距离:1021746.2661746435 米

四 高德地图测试结果

 


http://chatgpt.dhexx.cn/article/lZ5TTEpt.shtml

相关文章

根据两点经纬度计算距离

根据两点经纬度计算距离 这些经纬线是怎样定出来的呢?地球是在不停地绕地轴旋转(地轴是一根通过地球南北两极和地球中心的 假想线),在地球中腰画一个与地轴垂直的大圆圈,使圈上的每一点都和南北两极的距离相等&#xf…

通过经纬度坐标计算距离的方法(经纬度距离计算)

通过经纬度坐标计算距离的方法(经纬度距离计算) 最近在网上搜索“通过经纬度坐标计算距离的方法”,发现网上大部分都是如下的代码: #define PI 3.14159265 static double Rc 6378137; // 赤道半径 static double Rj 635672…

根据经纬度计算两点之间的距离

前言 在我们平时使用美团,饿了么等app进行订餐,或者使用猫眼进行订电影票的时候,都有一个距离的排序,表明该家店距离我们当前的位置,这种基于地理位置的服务,统一被称为LBS(Location Based Ser…

logistic模型原理与推导过程分析(1)

从线性分类器谈起 给定一些数据集合,他们分别属于两个不同的类别。例如对于广告数据来说,是典型的二分类问题,一般将被点击的数据称为正样本,没被点击的数据称为负样本。现在我们要找到一个线性分类器,将这些数据分为两…

阻滞增长模型--Logistic模型

文章目录 写在前面一、思路二、原始数据三、源代码四、结果 写在前面 做了一个作业,觉得挺有意思,有空就发上来了。 阻滞增长模型–Logistic模型的部分推导、思路,并给出参考代码。 参考书籍:《数学模型》第四版,姜启…

logistic模型原理与推导过程分析(2)

二项逻辑回归模型 既然logistic回归把结果压缩到连续的区间(0,1),而不是离散的0或者1,然后我们可以取定一个阈值,通常以0.5为阈值,如果计算出来的概率大于0.5,则将结果归为一类(1),…

从logit变换到logistic模型

从logit变换到logistic模型 logit变换几率logistic模型 前面我们知道对数函数和对数函数的一些基本性质,也许你会问,为什么要引入对数函数?而且还是一个基本初等函数?这就要从logit变换说起。 logit变换 我们在研究某一结果&…

Gompertz模型绘图 matlab,Logistic模型matlab求解

Logistic模型求解怎么用matlab求解啊? 悬赏分:100 - 解决时间:2008-11-17 23:09 已知 x0:1:12 y[43.65 109.86 187.21 312.67 496.58 707.65 960.25 1238.75 1560.00 1824.29 2199.00 2438.89 2737.71] yL/(1a*exp(-k*x)) 利用线性回归模型所…

数学建模-Logistic模型

文章目录 Malthus模型模型假设建模与求解模型评价 Logistic模型模型假设建模与求解模型检验 为了更好地理解Logistic模型,我们先看看Malthus模型 Malthus模型 这是英国神父Malthus通过对一百多年人口统计资料的分析之后提出的人口模型假设 模型假设 设x(t)表示t时…

数学建模-Logistic模型附Matlab代码

目录 一、Logistic模型介绍 二、Logistic模型实例 三、Logistic模型原理 3.1 Logistic 方程定义 3.2 Yule算法 3.2 Rhodes算法 3.3 Nair算法 4、Logistic模型Matlab部分代码 4.1 Yule算法 4.2 Rhodes算法 4.3 Nair算法 一、Logistic模型介绍 logistic回归又称logi…

logistic回归模型—基于R

logistic回归模型—基于R 数据理解和准备一. 对缺失值的处理二.虚拟变量的赋值三.箱线图四.相关性分析 训练集与测试集的划分模型构建与评价一.logistic回归模型二.检查模型在训练数据集和测试数据集上的表现使用交叉验证的logistic回归 logistic回归又称logistic回归分析&…

数学模型——Logistic回归模型(含Matlab代码)

写在前面 Logistic回归模型是一种非常常见的统计回归模型,在处理大量数据,揭示各自变量如何作用于因变量(描述X与Y之间的关系)时有着十分重要的作用。笔者在写Logit回归模型前参加了一次市场调研比赛,在这次比赛中学到…

菜鸟的数学建模之路(五):Logistic模型

matlab实现 Logistic回归跟多元线性回归差不多,但是有区别: (1) 线性回归:y是一个定量的变量,这时y对于不同的自变量来说有相应的值。 (2) Logistic回归:y是一个定性的变…

自学鸿蒙应用开发(25)- 基本的CommonDialog

动作演示 对话框是应用程序的主要输入手段之一,但是遗憾的是目前鸿蒙的开发网站上只有ToastDialog用法,其他类型的对话框则只能参考为数不多的英文文档。 以下是作者经过不断尝试,终于鼓捣出来的CommonDialog对话框。 CommonDialog1 代码实…

Builder设计模式构建通用型Dialog

目录 写在前面 一、什么是Builder模式 二、AlertDialog源码分析 2.1、源码阅读 2.2、Builder模式工作流程 三、代码实战——Builder模式构建通用型Dialog 3.1、基本框架搭建 3.2、完善Builder 3.3、完善真正的构建器 3.4、自定义参数配置 四、使用Dialog 写在前面 …

自学鸿蒙应用开发(26)- 自定义CommonDialog

执行效果 上一篇文章中说过,直接使用鸿蒙系统中的CommonDialog大致是下面的效果: 这个效果实在是无法用于实际的应用开发。本文介绍如何定制自己的CommonDialog。还是先看演示视频: CustomizeCommonDialog 准备布局 定制CommonDialog的第一…

Android炫酷翻转Dialog及高仿苹果IOS的Dialog

简单的Android弹出Dialog效果(圆角) 最近一段时间工作挺忙的,一直想写一篇博文,总是被各种事情打破计划,终于这次利用这个周末来开始自己第一次的技术文章的写作,提前说明,本人还是个菜鸟&#…

Android 全局Dialog

前沿 android 弹窗好几种,全局弹窗是什么?和普通Dialog(必须依附activity上下文的弹窗)有什么区别? 逛技术blog发现【全局dialog】这个名词,之前用FragmentDialog,自定义dialog。以及dialog的…

Android开发dialog内存泄露,Android中导致内存泄漏的竟然是它----Dialog

一. 内存泄漏的 Bug 猛增 最近在 App 进行 mokey 测试的时候检测到一些内存泄漏问题。在前天的测试中,楼主一瞬间收到了4个这样的 Bug 单,瞬间心理无比纠结,真有千万只羊驼向我奔来。 登录页面出现内存泄漏??!!楼主的代码是如此的***而无懈可击,这么可能出现这么多泄漏的…

dialog.setOnDismissListener(null)过程分析

前提 为解决DialogFragment的内存泄漏,使用了此篇博客的处理方法 DialogFragment 内存泄露,简单说就是给 dialog 设置 getDialog().setOnCancelListener(null); getDialog().setOnDismissListener(null);但发现了一个问题,当用户返回Activi…