首页 > 其他分享 >计算两个经纬度坐标之间的距离值

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

时间:2023-05-22 13:44:06浏览次数:47  
标签:lat1 经纬度 lat2 double 距离 坐标 lng1 lng2 Math

import java.util.*;
import java.math.*;

/**
 * 计算两个经纬度坐标之间的距离值
 * src: https://blog.csdn.net/zhuxiaoping54532/article/details/53671641
 */
public class test1 {
    private final static double EARTH_RADIUS = 6378.137;

    public static void main(String[] args) {
        double lat1, lng1, lat2, lng2;
        Scanner scanner = new Scanner(System.in);
        while (true) {
            System.out.println("Please input lat1, lng1, lat2, lng2: ");
            lat1 = scanner.nextDouble();
            lng1 = scanner.nextDouble();

            lat2 = scanner.nextDouble();
            lng2 = scanner.nextDouble();

            System.out.println("1,2两点的距离为:" + getDistance(lat1, lng1, lat2, lng2));
        }

    }

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

    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 * 10000) / 10000;
        return s;
    }
}

 

标签:lat1,经纬度,lat2,double,距离,坐标,lng1,lng2,Math
From: https://www.cnblogs.com/bluestorm/p/17420396.html

相关文章

  • Android 百度地图GPS获取定位经纬度
    首先进入百度地图官网,点击开发文档-->Android定位SDK-->获取密匙,进入应用创建界面,创建新的应用。准备好后,在“产品下载”栏目下载Android定位的包,将其打包放入项目中的libs文件目录。之后就需要在AndroidManifest.xml中添加APK,在Application标签中添加:<meta-dataand......
  • 计算点到直线的距离
     计算点到直线的距离importnumpyasnpdefget_distance_from_point_to_line(point,line_point1,line_point2):#对于两点坐标为同一点时,返回点与点的距离ifline_point1==line_point2:point_array=np.array(point)point1_array=np.a......
  • 力扣 72. 编辑距离
    72.编辑距离给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数  。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例 1:输入:word1="horse",word2="ros"输出:3解释:horse->rorse(将'h'......
  • 2023年5月最新全国省市区县和乡镇街道行政区划矢量边界坐标经纬度地图数据 shp geojso
    发现个可以免费下载全国 geojson 数据的网站,推荐一下。支持全国、省级、市级、区/县级、街道/乡镇级以及各级的联动数据,支持导入矢量地图渲染框架中使用,例如:D3、Echarts等geojson数据下载地址:https://geojson.hxkj.vip该项目github地址:https://github.com/TangSY/echarts-m......
  • 智能车基于五次多项式的智能车横向避幢模型,首先根据工况计算出预碰撞时间,进而计算出最
    智能车基于五次多项式的智能车横向避幢模型,首先根据工况计算出预碰撞时间,进而计算出最小转向距离,通过MPC预测控制算法来对规划路径进行跟踪控制。ID:3280675085193208......
  • 超车避幢通过五次多项式规划出超车路径,根据地横向避幢约束计算出最小纵向距离,确定转向
    超车避幢通过五次多项式规划出超车路径,根据地横向避幢约束计算出最小纵向距离,确定转向避幢起始点,路径跟踪控制采用了mpc控制算法,加入了侧偏角软约束,在超车结束后返回原车道行驶。采用16carsim和16B的matlab软件可送ID:95100675738903505......
  • 距离相等的条形码
    在一个仓库里,有一排条形码,其中第i个条形码为barcodes[i]。请你重新排列这些条形码,使其中任意两个相邻的条形码不能相等。你可以返回任何满足该要求的答案,此题保证存在答案。示例1:输入:barcodes=[1,1,1,2,2,2]输出:[2,1,2,1,2,1]示例2:输入:barcodes=[1,1,1,1,2,2,3,3......
  • MATLAB代码 风光场景生成 场景削减 概率距离削减法 蒙特卡洛法 M
    MATLAB代码风光场景生成场景削减概率距离削减法蒙特卡洛法MATLAB:基于概率距离快速削减法的风光场景生成与削减方法参考文档:《含风光水的虚拟电厂与配电公司协调调度模型》完全复现场景削减部分仿真平台:MATLAB平台代码具有一定的深度和创新性,注释清晰主要内容:风电、光伏以及......
  • MATLAB:基于概率距离快速削减法的风光场景生成与削减
    MATLAB:基于概率距离快速削减法的风光场景生成与削减方法关键词:概率距离场景削减场景生成蒙特卡洛场景法风光不确定性参考文档:《含风光水的虚拟电厂与配电公司协调调度模型》完全复现场景削减部分仿真平台:MATLAB平台代码具有一定的深度和创新性,注释清晰可懂[hot][hot][hot......
  • 【计算几何】Rust求解平面最近点对(寻找距离最近的两个点的距离)
    目录题目地址代码题目地址https://ac.nowcoder.com/acm/contest/52826/C代码usestd::io;usestd::cmp::Ordering;usestd::f64;#[derive(Debug,PartialEq,PartialOrd,Clone,Copy)]structPoint{x:f64,y:f64,}fneuclidean_distance(p1:&Point,p2:......