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