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

根据经纬度,坐标,计算两点之间的距离:

参数格式如下:每一个param的两个值之间用分号分割

@param1  positionOne =aa.bbbb;cc.dddd

@param2  positionOne =ee.bbbb;gg.dddd

public static double getDistance(String positionOne, String positionTwo)

{
double long1;
double lat1;
double long2;
double lat2;
double distance = 0d;
if (positionOne != null && positionOne.length() > 0
&& positionTwo != null && positionTwo.length() > 0)
{
String positionArrayOne[] = positionOne.split(";");
String positionArrayTwo[] = positionTwo.split(";");
try
{
long1 = Double.parseDouble(positionArrayOne[0]);
lat1 = Double.parseDouble(positionArrayOne[1]);
long2 = Double.parseDouble(positionArrayTwo[0]);
lat2 = Double.parseDouble(positionArrayTwo[1]);
if (long1 >= 0 && lat1 >= 0 && long2 >= 0 && lat2 >= 0)
{
double a, b, R;
R = 6378137; // 地球半径
lat1 = lat1 * Math.PI / 180.0;
lat2 = lat2 * Math.PI / 180.0;
a = lat1 - lat2;
b = (long1 - long2) * Math.PI / 180.0;
double sa2, sb2;
sa2 = Math.sin(a / 2.0);
sb2 = Math.sin(b / 2.0);
distance = 2
* R
* Math.asin(Math.sqrt(sa2 * sa2 + Math.cos(lat1)
* Math.cos(lat2) * sb2 * sb2));
}
}
catch (Exception e)
{
return distance;
}
}
return distance;
}

时间: 2022-12-08

java 根据经纬度 坐标 计算两点之间的距离的相关文章

给你两个经纬度,计算他们之间的距离

原文:给你两个经纬度,计算他们之间的距离 这些经纬线是怎样定出来的呢?地球是在不停地绕地轴旋转(地轴是一根通过地球南北两极和地球中心的假想线),在地球中腰画一个与地轴垂直的大圆圈,使圈上的每一点都和南北两极的距离相等,这个圆圈就叫作"赤道".在赤道的南北两边,画出许多和赤道平行的圆圈,就是"纬圈":构成这些圆圈的线段,叫做纬线.我们把赤道定为纬度零度,向南向北各为90度,在赤道以南的叫南纬,在赤道以北的叫北纬.北极就是北纬90度,南极就是南纬90度.纬度的高低也标志

PHP实现搜索地理位置及计算两点地理位置间距离的实例_php实例

地理位置搜寻LBS,存储每个地点的经纬度坐标,搜寻附近的地点,建立地理位置索引可提高查询效率. mongodb地理位置索引,2d和2dsphere,对应平面和球面. 1.创建lbs集合存放地点坐标 use lbs; db.lbs.insert( { loc:{ type: "Point", coordinates: [113.332264, 23.156206] }, name: "广州东站" } ) db.lbs.insert( { loc:{ type: &qu

根据经纬度计算地球上两点之间的距离js实现代码_javascript技巧

利用JS实现的根据经纬度计算地球上两点之间的距离 最近用到了根据经纬度计算地球表面两点间距离的公式,然后就用JS实现了一下. 计算地球表面两点间的距离大概有两种办法. 第一种是默认地球是一个光滑的球面,然后计算任意两点间的距离,这个距离叫做大圆距离(The Great Circle Distance). 公式如下: 使用JS来实现为: 复制代码 代码如下: var EARTH_RADIUS = 6378137.0; //单位M var PI = Math.PI; function getRad(

c++ 课设 c++编程问题-C++编程题 用类做两个坐标,求两点之间的距离

问题描述 C++编程题 用类做两个坐标,求两点之间的距离 用类做两个坐标,求两点之间距离 C++编程题明天上课就要交了,不交就得挂科,求尽快给以正解,在下感激不进 解决方案 http://codepad.org/zqnz4GTt #include <math.h> #include <iostream.h> using namespace std; class Point { public: int x; public: int y; public: double distance

地图api-asp利用百度地图 判断两点之间的距离多少米

问题描述 asp利用百度地图 判断两点之间的距离多少米 asp利用百度地图 判断两点之间的距离多少米 我用asp做的手机网站,希望通过得到用户当前的坐标,然后判断离他最近的商户的位置.如何实现,救大神解! 解决方案 通过2点的经纬度来计算 http://wenku.baidu.com/link?url=A8bPgL_oKmBQ6CU7KDi154dV5s5Lf53V5MXEs0i251cFGNgbCRZ3NWLgajznzKdHq6-pFZI0eyxCxDUCwodN8_XYsOEWYcT1HB

jar-安卓实现高德地图定位 计算两者之间的距离如何实现

问题描述 安卓实现高德地图定位 计算两者之间的距离如何实现 安卓实现高德地图定位 计算两者之间的距离如何实现 计算距离的这个类是那个jar包下面的类啊 解决方案 如何实现安卓定位,用arcGis开发 解决方案二: //1.将两个经纬度点转成投影点 MAMapPoint point1 = MAMapPointForCoordinate(CLLocationCoordinate2DMake(39.989612,116.480972)); MAMapPoint point2 = MAMapPointF

利用JS实现的根据经纬度计算地球上两点之间的距离

最近用到了根据经纬度计算地球表面两点间距离的公式,然后就用JS实现了一下. 计算地球表面两点间的距离大概有两种办法. 第一种是默认地球是一个光滑的球面,然后计算任意两点间的距离,这个距离叫做大圆距离(The Great Circle Distance). 公式如下: 使用JS来实现为:     var EARTH_RADIUS = 6378137.0;    //单位M    var PI = Math.PI;          function getRad(d){         retur

java实现计算地理坐标之间的距离_java

java实现计算两经纬度点之间的距离,直接上代码,具体解释请参考注释 复制代码 代码如下: package com.jttx.poi.utils; import com.jttx.poi.entity.Point; /**  * Created by louis on 2014/9/2.  */ public class GeoUtils {     /**      * 计算两经纬度点之间的距离(单位:米)      * @param lng1  经度      * @param lat1 

HDOJ 2001 计算两点间的距离

Problem Description 输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离. Input 输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开. Output 对于每组输入数据,输出一行,结果保留两位小数. Sample Input 0 0 0 1 0 1 1 0 Sample Output 1.00 1.41 import java.util.*; class Main{ public static void main(