2012-06-08 37 views
0

给定一个坐标,从该坐标构造一个+/- N度的边界框。边框会被lat_min确定,lat_max,lng_min和lng_max.I在Java中的以下代码(假设所有的输入为度):距离坐标N度范围内的边界框

static class BoundingBox 
{ 
    private final double lat_min; 
    private final double lng_min; 
    private final double lat_max; 
    private final double lng_max; 

    public BoundingBox(double lat, double lng, double N) 
    { 
     this.lat_min = lat - N; 
     this.lat_max = lat + N; 
     this.lng_min = lng - N; 
     this.lng_max = lng + N; 
    } 

    public boolean contains(double lat, double lng) 
    { 
     if (lat_max < lat) 
      return false; 

     if (lat_min > lat) 
      return false; 

     if (lng_max < lng) 
      return false; 

     if (lng_min > lng) 
      return false; 

     return true; 
    } 
} 

这是正确的?

+0

你试过了吗?如果我是你的老师,我会在国际日期线附近和极点附近测试你的代码。 – Beta

回答