Spatial4j - 使用以英里为单位的质心和半径创建圆

Spatial4j - Create circle using centroid and radius in miles

使用 Spatial4j,我想使用以英里(或公里)为单位指定的质心和半径创建一个圆。 Javadoc 说 "The units of "distance" 应该与 x & y 相同。"我对此感到困惑。

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

Spatial4j 中是否有一种方法可以轻松处理此转换,以便我可以用英里表示半径并创建一个准确的圆?

谢谢!

DistanceUtils class 有你要找的转换方法,布鲁克斯:

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

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

从米:

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);
}