Spatial4j - 使用质心和半径(英里)创建圆

时间:2016-03-13 18:13:49

标签: java spatial

使用Spatial4j,我想使用以英里(或公里)指定的质心和半径创建一个圆。 Javadoc说“距离”的单位应与x& y相同。我很困惑。

我理解x和y(lat,lon)是度,我不知道如何以度为单位表示半径。我想以英里表示它,所以我想我需要将里程转换为度数,但我也知道转换是根据质心在地球表面的位置而不同。

Spatial4j中有没有办法轻松处理这种转换,这样我就可以用英里表示半径并创建一个准确的圆圈?

谢谢!

2 个答案:

答案 0 :(得分:1)

DistanceUtils班级有您寻求的转换方法,Brooks:

  

public static double calcBoxByDistFromPt_deltaLonDEG(double lat,double lon,double distDEG)

应该排序你,希望有所帮助!

答案 1 :(得分:1)

从米:

static double metersToDistanceDeg(int meters) {
    return (1.0 * meters / (1000 * DistanceUtils.DEG_TO_KM));
}

或者,如果您有里程:

static double milesToDistanceDeg(int miles) {
    return (DistanceUtils.MILES_TO_KM * miles / DistanceUtils.DEG_TO_KM);
}