private static double EARTH_RADIUS = 6371.393;
/**
* 度换成弧度
*
* @param d
* 度
* @return 弧度
*/
private static double rad(double d) {
return d * Math.PI / 180.0;
}
/**
*
* @Title: right
* @Description: 根据原点向右平移指定距离(纬度不变,经度变化)
* @param @param lon 经度
* @param @param lat 纬度
* @param @param dist 距离,单位:米
* @param @return 参数
* @return String 平移后的经纬度 返回类型
*/
public static String right(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) + "," + lat;
}
/**
*
* @Title: top
* @Description: 根据原点向上平移指定距离(经度不变,纬度变化)
* @param @param lon 经度
* @param @param lat 纬度
* @param @param dist 距离,单位:米
* @param @return 参数
* @return String 平移后的经纬度 返回类型
*/
public static String top(double lon, double lat, double dist) {
double d = dist / EARTH_RADIUS * 1000;
double c = d / Math.PI * 180.0;
return lon + "," + (lat + c);
}
根据已知经纬度求向上,向右平移一定距离,求平移后的经纬度
最新推荐文章于 2021-12-20 14:17:18 发布