package com.ruoyi.common.tool;
public class latAndLonUtil {
private static double EARTH_RADIUS = 6371.393;
/**
* 度换成弧度
*
* @param d
* 度
* @return 弧度
*/
private static double rad(double d) {
return d * Math.PI / 180.0;
}
//lon经度左右,lat纬度上下
/**
* 经度向右
* @param lon
* @param dist
* @return
*/
public static double lonRight(double lon, double lat,double dist) {
double d = dist / (EARTH_RADIUS * 1000);
double cs = Math.cos(rad(lat));
double c = d / cs * 180.0 / Math.PI;
return lon + c;
}
/**
* 经度向左
* @param lon
* @param dist
* @return
*/
public static double lonLeft(double lon, double lat,double dist) {
double d = dist / (EARTH_RADIUS * 1000);
double cs = Math.cos(rad(lat));
double c = d / cs * 180.0 / Math.PI;
return lon - c;
}
/**
* 纬度向上
* @param dist
* @return
*/
public static double latTop(double lat,double dist) {
double d = dist / (EARTH_RADIUS * 1000);
double c = d / Math.PI * 180.0;
return (lat + c);
}
/**
* 纬度向下
* @param dist
* @return
*/
public static double latDown(double lat,double dist) {
double d = dist / (EARTH_RADIUS * 1000);
double c = d / Math.PI * 180.0;
return (lat - c);
}
}
java 当前经纬度 向周围四个方向偏移 获得具中心点的指定范围
最新推荐文章于 2024-07-06 13:51:47 发布