使用Spatial4j,我想使用以英里(或公里)指定的质心和半径创建一个圆。 Javadoc说“距离”的单位应与x& y相同。我很困惑。
我理解x和y(lat,lon)是度,我不知道如何以度为单位表示半径。我想以英里表示它,所以我想我需要将里程转换为度数,但我也知道转换是根据质心在地球表面的位置而不同。
Spatial4j中有没有办法轻松处理这种转换,这样我就可以用英里表示半径并创建一个准确的圆圈?
谢谢!
答案 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);
}