【发布时间】:2017-11-30 10:33:29
【问题描述】:
我希望能够为某些 GPS 坐标添加精确距离。 我有一个经度和一个纬度,我想添加一个距离,比如说 30 米。
我找到了下面的公式,但是当我测试它时,它似乎并不那么准确,因为得到的 long 和 lat 距离开始坐标 37m。
public static Coordinates addDistanceToCoordinates(String lat, String lon, double distance) {
Double latitude = Double.valueOf(lat);
Double longitude = Double.valueOf(lon);
double lat0 = cos(Math.PI / 180.0 * latitude);
double x = longitude + (180/Math.PI)*(distance/6378137)/cos(lat0);
double y = latitude + (180/Math.PI)*(distance/6378137);
return Coordinates.builder().lon(x).lat(y).build();
}
【问题讨论】:
-
“增加距离”是什么意思?您可以在任何方向添加 30m 并获得不同的坐标。你能说得具体点吗?
标签: java coordinates gis