python根据经纬度计算距离示例

yipeiwu_com6年前Python基础

复制代码 代码如下:

/**
 * 计算两点之间距离
 * @param _lat1 - start纬度
 * @param _lon1 - start经度
 * @param _lat2 - end纬度
 * @param _lon2 - end经度
 * @return km(四舍五入)
 */
public static double getDistance(double _lat1,double _lon1, double _lat2,double _lon2){
 double lat1 = (Math.PI/180)*_lat1;
 double lat2 = (Math.PI/180)*_lat2;

 double lon1 = (Math.PI/180)*_lon1;
 double lon2 = (Math.PI/180)*_lon2;

 //地球半径
 double R = 6378.1;

 double d =  Math.acos(Math.sin(lat1)*Math.sin(lat2)+Math.cos(lat1)*Math.cos(lat2)*Math.cos(lon2-lon1))*R;

 return new BigDecimal(d).setScale(4,BigDecimal.ROUND_HALF_UP).doubleValue();
}

public static void main(String[] args) {
 System.out.println(getDistance(45.73990, 126.55893,45.73876, 126.55037));
}

相关文章

pandas数据分组和聚合操作方法

《Python for Data Analysis》 GroupBy 分组运算:split-apply-combine(拆分-应用-合并) DataFrame可以在其行(axis=0)或...

Python理解递归的方法总结

递归 一个函数在执行过程中一次或多次调用其本身便是递归,就像是俄罗斯套娃一样,一个娃娃里包含另一个娃娃。 递归其实是程序设计语言学习过程中很快就会接触到的东西,但有关递归的理解可能还会有...

pandas读取csv文件,分隔符参数sep的实例

在python中读取csv文件时,一般操作如下: import pandas as pd pd.read_csv(filename) 该读文件方式,默认是以逗号“,”作为分割符,若...

用Python的Django框架完成视频处理任务的教程

Stickyworld 的网页应用已经支持视频拨放一段时间,但都是通过YouTube的嵌入模式实现。我们开始提供新的版本支持视频操作,可以让我们的用户不用受制于YouTube的服务。 我...

Python中文编码知识点

Python中文编码知识点

如何用 Python 输出 "Hello, World!",英文没有问题,但是如果你输出中文字符"你好,世界"就有可能会碰到中文编码问题。 Python 文件中如果未指定编码,在执行过程...