博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 根据经纬度计算实际距离
阅读量:4046 次
发布时间:2019-05-25

本文共 1273 字,大约阅读时间需要 4 分钟。

maven库导包

        <dependency>

              <groupId>org.gavaghan</groupId>
              <artifactId>geodesy</artifactId>
              <version>1.1.3</version>
        </dependency>

import org.gavaghan.geodesy.Ellipsoid;import org.gavaghan.geodesy.GeodeticCalculator;import org.gavaghan.geodesy.GeodeticCurve;import org.gavaghan.geodesy.GlobalCoordinates;public class test {    public static void main(String[] args)    {        // //121.717594,31.12055    121.817629,31.090867        GlobalCoordinates source = new GlobalCoordinates(31.12055, 121.717594);        GlobalCoordinates target = new GlobalCoordinates(31.090867, 121.817629);         double meter1 = getDistanceMeter(source, target, Ellipsoid.Sphere);        double meter2 = getDistanceMeter(source, target, Ellipsoid.WGS84);         System.out.println("Sphere坐标系计算结果:"+meter1 + "米");        System.out.println("WGS84坐标系计算结果:"+meter2 + "米");    }     public static double getDistanceMeter(GlobalCoordinates gpsFrom, GlobalCoordinates gpsTo, Ellipsoid ellipsoid)    {        //创建GeodeticCalculator,调用计算方法,传入坐标系、经纬度用于计算距离        GeodeticCurve geoCurve = new GeodeticCalculator().calculateGeodeticCurve(ellipsoid, gpsFrom, gpsTo);         return geoCurve.getEllipsoidalDistance();    }}

 对比百度地图,计算结果和Sphere坐标系计算结果一致,表明计算结果正确,WGS84坐标系的计算结果存在几十米的误差。不同的坐标系精度不同,计算结果不一样。

转载地址:http://snzci.baihongyu.com/

你可能感兴趣的文章
Centos 7(Linux)环境下安装PHP(编译添加)相应动态扩展模块so(以openssl.so为例)
查看>>
fastcgi_param 详解
查看>>
Nginx配置文件(nginx.conf)配置详解
查看>>
标记一下
查看>>
IP报文格式学习笔记
查看>>
autohotkey快捷键显示隐藏文件和文件扩展名
查看>>
Linux中的进程
查看>>
学习python(1)——环境与常识
查看>>
学习设计模式(3)——单例模式和类的成员函数中的静态变量的作用域
查看>>
自然计算时间复杂度杂谈
查看>>
当前主要目标和工作
查看>>
使用 Springboot 对 Kettle 进行调度开发
查看>>
一文看清HBase的使用场景
查看>>
解析zookeeper的工作流程
查看>>
搞定Java面试中的数据结构问题
查看>>
慢慢欣赏linux make uImage流程
查看>>
linux内核学习(7)脱胎换骨解压缩的内核
查看>>
以太网基础知识
查看>>
慢慢欣赏linux 内核模块引用
查看>>
kprobe学习
查看>>