`

java 根据GPS经纬度坐标计算两点的直线距离的算法

    博客分类:
  • j2ee
阅读更多
public class LocationUtils {
    private static double EARTH_RADIUS = 6378.137;

    private static double rad(double d) {
        return d * Math.PI / 180.0;
    }

    /**
     * 通过经纬度获取距离(单位:米)
     * @param lat1
     * @param lng1
     * @param lat2
     * @param lng2
     * @return
     */
    public static double getDistance(double lat1, double lng1, double lat2,
                                     double lng2) {
        double radLat1 = rad(lat1);
        double radLat2 = rad(lat2);
        double a = radLat1 - radLat2;
        double b = rad(lng1) - rad(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 * 10000d) / 10000d;
        s = s*1000;
        return s;
    }
}

//提示 只能大概算出距离。

分享到:
评论

相关推荐

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

    6. 文件处理:在“两点经纬度计算距离-输入地址得到经纬度”这个文件中,可能包含了将地址转换为经纬度的逻辑。这通常涉及调用地图API的地理编码服务,将街道地址解析为对应的经纬度坐标。 总之,从给定的标题和...

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

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

    经纬度计算距离、方位角等java源码

    本篇文章将详细讲解如何利用Java编程语言实现这一功能,主要基于给定的"经纬度计算"标签以及压缩包中的"Caculate.java"源码。 首先,我们了解地球坐标系统。在地理坐标系统中,每个位置由经度和纬度来表示,经度...

    Android-依据两点间经纬度坐标,计算两点间距离

    根据提供的文件信息,本文将详细解释如何在Android应用开发中基于两点间的经纬度坐标来计算这两点之间的地理距离。此方法对于实现地图定位、路线规划等功能具有重要意义。 ### 核心概念 #### 地理坐标系统 地球...

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

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

    Java版_经纬度两点间距离计算(LngLat)

    ### Java版_经纬度两点间距离计算(LngLat) #### 概述 本文将详细介绍一个用Java实现的计算两个地理位置(通过经纬度表示)之间距离的方法。该方法基于Haversine公式,这是一种广泛用于导航领域中的算法,可以精确...

    通过两点的经纬度信息计算距离及相对方位角(正北角)

    在这里,我们将深入探讨如何根据两点的经纬度信息计算距离和真北角。 首先,我们来理解经纬度的基本概念。地球被假想地分为360度的经线和纬线网络,经线是从本初子午线(0°经线)向东西两侧延伸的半圆,而纬线是与...

    经纬度坐标下的球面多边形面积计算公式

    关键步骤包括将经纬度转换为弧度制,计算中间点、低点和高点的球面坐标,以及使用球面三角形的余弦法则来计算三角形的面积。 值得注意的是,代码中使用了WGS84椭球体模型的半径值(6378000米),这是一个标准的地球...

    GPS坐标转地图坐标java版算法(纠偏)

    gps坐标转地图坐标算法,纠偏算法。GPS坐标就是传说中大地坐标系统(WGS-84),国内的互联网公司,都不会使用GPS坐标,因为这不符合国家政策。所以大家都会使用GCJ-02坐标系,如腾讯搜搜地图、搜狐搜狗地图、阿里云...

    根据经纬度算出两点距离以及方位角

    本篇将详细讲解如何根据经纬度计算两点之间的距离以及方位角,并介绍一种优化算法以减小误差。 首先,我们来理解一下经纬度系统。地球被分为360等份,每一份代表1度经度,0度经线称为本初子午线,位于英国格林尼治...

    百度地图根据起始点经纬度坐标确认最佳路线规划

    总的来说,百度地图根据起始点和终点的经纬度坐标进行路线规划,结合实时交通数据和优化算法,为用户提供最佳的出行建议。对于开发者而言,理解和掌握这些知识点能够帮助他们更有效地利用百度地图的API,打造更加...

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

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

    GPS轨迹纠偏算法,java代码,包含异常点检测、滤波平滑,

    3. **LocationConvert.java**:此文件可能包含将原始GPS坐标转换为其他坐标系(如WGS84、GCJ-02、BD-09等)的函数。在中国,由于地理信息安全考虑,通常需要进行坐标加密,因此转换代码是必要的。 4. **轨迹纠偏...

    GPS经纬度坐标转换大地坐标

    本主题主要关注GPS(全球定位系统)所使用的经纬度坐标如何转换为适用于中国大陆的大地坐标。GPS通常采用WGS84(世界大地坐标系统1984)作为其坐标基准,而在中国,我们更常使用的是国家统一的大地坐标系统,如1980...

    三维坐标与经纬度坐标的转换

    例如,可以使用Haversine公式来估算两点之间的大圆距离,或者使用反余弦定律来计算角度。 在实际应用中,这些转换可能对GIS分析、卫星导航、遥感图像处理等领域至关重要。了解和掌握这些转换方法,能帮助我们在...

    一个经纬度相关计算的C++类

    该类提供了一系列功能,包括但不限于经纬度的存储、转换以及两点间的距离计算等。这对于处理GPS定位数据、地图应用开发等领域具有较高的实用价值。 #### 文件结构与组织 在`CJWD.h`头文件中定义了两个主要的类:`...

    GPS经纬度纠偏算法c++版

    对GSP经纬度数据进行纠偏计算,过滤掉偏移无效的数据。画出规整的轨迹。

    point-clustering.rar Java后端前端进行经纬度点抽稀聚合渲染

    Java后端进行经纬度点抽稀聚合,HTML呈现及前端聚合渲染 index.html 谷歌map后端点聚合 geos.html 后端点聚合并渲染 geo_cluster.html mapbox前端点聚合 jpg/heatJpgTile.html 栅格瓦片jpg渲染底图及数据 multilines...

    经纬度坐标转换软件

    6. **坐标反算**:除了直接的坐标转换,软件还可能包含反算功能,即根据位置信息反推其经纬度坐标。 7. **地图投影**:软件可能内置多种地图投影算法,用于将球面坐标转换为平面坐标,适应各种制图需求。 8. **...

Global site tag (gtag.js) - Google Analytics