据说是从google earth里提取出来的方法,返回的单位(应该)是公里
private static double EARTH_RADIUS = 6378.137;
public static double GetDistance(double lat1, double lng1, double lat2,
double lng2) {
double radLat1 = Math.toRadians(lat1);
double radLat2 = Math.toRadians(lat2);
double a = radLat1 - radLat2;
double b = Math.toRadians(lng1) - Math.toRadians(lng2);
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;
}
分享到:
相关推荐
- `φ1` 和 `φ2` 分别是第一个和第二个点的纬度, - `Δφ` 是两个纬度之差, - `Δλ` 是两个经度之差, - `R` 是地球的平均半径,约为6371公里或3959英里, - `d` 就是两点间的距离。 在Java中,我们可以创建一...
在地理学和导航系统中,计算地球上两点之间的距离是一个常见的任务。这涉及到地球表面的几何形状,即我们通常简化为一个椭球体或球体。本文将探讨两种方法来计算这种距离,这两种方法都可以准确地得出结果。 首先,...
这两个算法虽然常用于图论中的最短路径问题,但通过适当调整,也可以应用于计算地球表面两点间的测地距离。 首先,Dijkstra算法是一种单源最短路径算法,它通过不断扩展最短路径树来寻找从起点到所有其他顶点的最短...
在GIS中,经常需要计算地球表面两点之间的距离,特别是在应用如地图导航、物流配送、地理分析等领域。本篇文章将详细讲解如何在ArcGIS平台上,利用经纬度坐标来计算地球上两点间的实际距离。 ArcGIS是由Esri公司...
在二维平面上,两点之间的直线距离可以通过勾股定理计算,但在地球上,两点之间的最短路径是大圆航线,即两点在地球表面上的最短路径。卡尔森模型可以准确地给出这个大圆距离。 以下是卡尔森模型的基本步骤: 1. 将...
标题中的“地球上两点球面距离自动计算程序”指的是一个能够自动计算地球上任意两个点之间球面距离的软件或算法。在地理学、航海学、航空学以及计算机科学中,这样的计算是十分重要的,因为它允许我们精确地估算物体...
最常用的近似方法是假设卫星在地球表面上方的圆形轨道上,此时距离(d)可以表示为: - d = √[R² + (R+h)² - 2R(R+h)cosφ1] 这里的R为地球半径,h为卫星高度,φ1为地球站的纬度。然而,如果需要更精确的计算...
该程序脚本使用 Haversine 公式来计算距离,该公式可以用来计算地球表面上两个点之间的距离。 首先,我们需要了解 Haversine 公式的原理。Haversine 公式是一种用于计算地球表面上两个点之间的距离的公式。该公式...
利用JS实现的根据经纬度计算地球上两点之间的距离 最近用到了根据经纬度计算地球表面两点间距离的公式,然后就用JS实现了一下。 计算地球表面两点间的距离大概有两种办法。 第一种是默认地球是一个光滑的球面,然后...
本篇将详细讲解如何利用这些信息来计算两点之间的距离。 首先,我们来看“WMM.COF”文件,这可能是世界磁模型(World Magnetic Model,简称WMM)的配置文件,用于描述地磁场的分布情况。在GPS定位和导航中,它有助...
首先,让我们来探讨在三维空间中计算两点之间距离的基本概念。在三维坐标系中,每个点可以用三个坐标值(x, y, z)表示。两点之间的欧氏距离可以通过以下公式计算: \[ \text{Distance} = \sqrt{(x2 - x1)^2 + (y2 ...
本篇文章将深入探讨如何利用经纬度来计算地球上两点之间的距离,并介绍一个基于MATLAB的GUI工具,方便用户进行此类计算。 首先,让我们理解经纬度的基本概念。经度是指从本初子午线向东或向西测量的角度,0°经线...
这个任务通常涉及到地球表面的距离计算,因为经纬度是地球坐标系统的一部分。以下是一些相关的重要知识点: 1. 地球坐标系统:地球被假想为一个完美的球体或椭球体,经纬度是用来定位地球上任何位置的坐标系统。...
- φ1 和 φ2 分别是第一个点和第二个点的纬度, - Δφ 是两个纬度之差, - Δλ 是两个经度之差, - R 是地球的平均半径,约为6371公里。 程序"GLode.exe"可能包含了实现这个计算过程的代码。在执行时,用户可能...
Haversine公式考虑了地球的半径,通过两个点的经纬度差来计算出它们之间的弧度差,进而得到距离。 4. **批量计算**:在项目描述中提到的批量功能,意味着这个程序可以处理多对经纬度,计算它们与一组参考点(平均...
- `GetDistance`: 输入为两个点的经纬度(`lat1`, `lng1` 和 `lat2`, `lng2`),返回两点间距离(单位为米)。 2. **转换角度为弧度**: - `rad`: 将输入的角度值转换为弧度值,方便进行数学运算。 3. **计算步骤**...
Haversine 使用纬度和经度计算地球上两个点之间的距离(以各种单位表示)。安装$ pip install haversine用法计算里昂到巴黎的距离 from haversine import haversine , Unitlyon = ( 45.7597 , 4.8422 ) # (lat, lon)...
高度差通常是在地球表面以上或以下的距离,因此,我们需要将这个值加到相应的笛卡尔坐标Z轴上,然后再进行距离计算。 在实际编程中,可以参考以下伪代码: ```javascript // 定义两个点的经纬度和高度 var point1 ...
首先,地球并不是一个完美的球体,而是一个椭球体,因此计算地球表面两点间的最短距离(大圆距离)需要考虑地球的几何形状。在地理学和地图制作中,常用的椭球模型有WGS84(世界大地坐标系统1984),这是一个国际上...
- φ1 和 φ2 分别是两个点的纬度, - Δφ 是纬度差, - Δλ 是经度差, - R 是地球的平均半径,大约6371公里或3959英里。 在Java中实现Haversine公式,你可以创建一个方法,接受两个`LatLng`对象(表示经纬度的...