`
roadrunners
  • 浏览: 77030 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

计算两个经纬度之间的距离

    博客分类:
  • LBS
阅读更多

要解决这个问题的时候,到网上查了很多方案,最后计算出来的都与百度计算出来的有出入。下面这个公式计算出来的距离和百度计算出来的距离是一致的。

	/**
	 * 
	 * @param longitudeA
	 *            经度A点
	 * @param latitudeA
	 *            纬度A点
	 * @param longitudeB
	 *            经度B点
	 * @param latitudeB
	 *            纬度B点
	 * @return 返回两点之间的距离,单位为米,可以根据使用场景自由换算
	 */
	public static double getDistance(double longitudeA, double latitudeA, double longitudeB, double latitudeB) {
		// 地球半径(千米),地球半径分为:极半径、赤道半径、平均半径,我们使用平均半径
		double R = 6371.393;
		double C = Math.sin(Math.toRadians(latitudeA)) * Math.sin(Math.toRadians(latitudeB)) + Math.cos(Math.toRadians(latitudeA)) * Math.cos(Math.toRadians(latitudeB)) * Math.cos(Math.toRadians(longitudeA - longitudeB));
		return (R * Math.acos(C)) * 1000;
	}

 

Demo:

		double longitudeA = 106.486654;
		double latitudeA = 29.490295;
		double longitudeB = 106.581515;
		double latitudeB = 29.615467;

		System.out.println(getDistance(longitudeA, latitudeA, longitudeB, latitudeB));

 

分享到:
评论

相关推荐

    计算两个经纬度之间的距离Java

    "计算两个经纬度之间的距离Java"这个主题,涉及到地理坐标系统、Haversine公式以及高德地图API的运用。 首先,我们需要了解地理坐标系统。地球被抽象为一个球体,每个位置由经度和纬度来唯一标识。经度是从本初子午...

    计算两个经纬度之间的公里数

    通过以上介绍,我们可以看到计算两个经纬度之间距离的方法相对简单,但其应用场景却十分广泛。在实现过程中需要注意角度与弧度的转换,同时也要考虑到实际应用中的误差来源。对于需要高精度定位的应用来说,还需要...

    Java计算两个经纬度点之间距离算法

    Java计算两个经纬度点之间距离(以米为单位)算法, 纯Java代码, 可供参考。 在具体项目中使用过。

    java计算两个经纬度之间的距离

    在Java编程中,计算两个经纬度之间的距离通常涉及到地理坐标系统的知识,主要使用Haversine公式或者Spherical Law of Cosines。Haversine公式适用于球面几何,它能计算地球上两点之间的大圆距离,而Spherical Law of...

    使用MATLAB计算两个经纬度之间的距离

    主要介绍了如何在MATLAB中计算两个经纬度点之间的距离,您可以根据自己的需求进一步扩展和优化这个方法。

    经纬度计算距离经纬度计算距离工具

    最后,“经纬度计算距离经纬度计算距离工具(gpsCal)”是核心应用,它利用GIS的基本原理,通过输入两个地理位置的经纬度,计算它们之间的直线距离(即大圆距离)。对于户外活动爱好者、旅行者以及需要精确地理信息的...

    java根据两点经纬度计算距离

    2. Haversine公式:计算两个经纬度点之间的大圆距离常用Haversine公式。它考虑了地球的曲率,假设地球是一个完美的球体。公式如下: `a = sin²(Δφ/2) + cos φ1 ⋅ cos φ2 ⋅ sin²(Δλ/2)` `c = 2 ⋅ atan2...

    两经纬度之间的距离

    在IT行业中,尤其是在地理信息系统(GIS)或者基于位置服务(LBS)的应用中,计算两个经纬度之间的距离是一项常见的任务。这项技术对于导航系统、地图应用、物流配送、社交网络等多个领域都至关重要。本篇文章将深入...

    两点经纬度计算距离.xlsx

    已知两点经纬度,自动计算距离。在表格分别输入两点的经度、纬度,即可计算出这两个点之间的距离长度。已知两点经纬度,自动计算距离。在表格分别输入两点的经度、纬度,即可计算出这两个点之间的距离长度。

    经纬度计算距离,经纬度计算距离公式,matlab

    在这个案例中,用户可以输入两个地点的经纬度,GUI会自动计算并显示它们之间的距离。GUI通常包括输入框、按钮和结果显示区域等元素,使用MATLAB的`figure`、`uicontrol`等函数创建。 开发这样的GUI,我们需要以下...

    golang与php实现计算两个经纬度之间距离的方法

    在Golang和PHP这两种编程语言中,计算两个经纬度之间的距离是一项常见的任务,这通常涉及到地球表面的距离估算。以下将详细介绍这两种语言如何实现这一功能。 首先,我们来看Golang的实现。在给出的示例中,`...

    C# GIS计算两个经纬度之间的直线距离

    计算两个地图坐标的直线距离,计算两个经纬度之间的直线距离。C#写得

    C#两个经纬度方向角计算源码

    这里我们关注的是一个C#实现的DEMO,用于计算两个经纬度坐标之间角度,以正北为0度到359度的范围。这个程序可能被用于导航、地图应用或者任何需要确定两点间相对方位的系统。 首先,我们要理解经纬度坐标系统。地球...

    由两点经纬度计算距离-arcgis server C#

    在地理信息系统(GIS)领域,经常需要计算两个地理位置之间的距离。这在地图导航、路径规划、位置服务等场景中尤为重要。ArcGIS Server作为一款强大的GIS平台,支持多种编程语言进行二次开发,其中C#是常用的语言之...

    通过两点经纬度,计算他们之间的距离 - JAVA

    在JAVA编程中,计算两点经纬度之间的距离是一个常见的地理计算任务,主要应用于地图应用、导航系统或者地理位置服务等。这个任务通常使用哈弗辛公式(Haversine formula)来实现,该公式基于球面三角学,可以计算...

    Sql经纬度计算与C#经纬度计算

    这段代码使用了 Vincenty 公式来计算两个经纬度之间的距离,Vincenty 公式是一种常用的计算经纬度距离的方法。该公式可以计算出两个经纬度之间的距离,以千米为单位。 C#经纬度计算: 在C#中,我们可以使用以下...

    计算两个经纬度距离.java

    计算两个经纬度距离.java

    Excel计算两经纬度之间的距离

    在Excel中计算两经纬度之间的距离和角度是一个实用的功能,特别是在地理信息系统(GIS)和物流等领域。本篇文章将详细介绍如何利用Excel内置的VBA(Visual Basic for Applications)编写宏来实现这一目标,并解释...

    批量根据经纬度计算距离

    Haversine公式考虑了地球的半径,通过两个点的经纬度差来计算出它们之间的弧度差,进而得到距离。 4. **批量计算**:在项目描述中提到的批量功能,意味着这个程序可以处理多对经纬度,计算它们与一组参考点(平均...

Global site tag (gtag.js) - Google Analytics