经纬度相关的一些操作
package com.opslab.util.map;
/**
* 经纬度相关的阿一些操作
*/
public final class CoordinateUtil {
/**
* 计算地球上任意两点(经纬度)距离
*
* @param long1 第一点经度
* @param lat1 第一点纬度
* @param long2 第二点经度
* @param lat2 第二点纬度
* @return 返回距离 单位:米
*/
public final static double distance(double long1, double lat1, double long2, double lat2) {
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 d;
double sa2, sb2;
sa2 = Math.sin(a / 2.0);
sb2 = Math.sin(b / 2.0);
d = 2
* R
* Math.asin(Math.sqrt(sa2 * sa2 + Math.cos(lat1)
* Math.cos(lat2) * sb2 * sb2));
return d;
}
}
相关文章
- ESXI 5.5加载 zabbix OVF 3.2.6操作
- CentOS7为firewalld添加开放端口及相关操作
- Pandas-数据操作-数值型(三):逻辑筛选【逻辑运算符号】【逻辑运算函数:query()、isin()】
- Adobe Flash Player已经终止一项可能不安全的操作,解决方案
- Java学习笔记——Java程序运行超时后退出或进行其他操作的实现
- LVM基础详细说明及动态扩容lvm逻辑卷的操作记录
- ElasticSearch之CURL操作
- Python_13-Office文件数据操作
- Python小练习:列表的相关操作
- C#操作Sqlite快速入门及相关工具收集
- Python实现性能自动化测试看着难,其实操作起来简单的很
- 一文快速回顾 Java 操作数据库的方式-JDBC
- STM32串口寄存器操作(转)
- jQuery学习笔记--JqGrid相关操作 方法列表 备忘 重点讲解(超重要)
- linux组、用户操作相关
- windows 设置需要管理员权限时输入密码才能操作
- js中日期函数的相关操作
- js操作textarea方法集合
- 十八、python学习之MySQL数据库(五):数据库其他高级操作