2012-06-08 2 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

ответ

0

Ограничительная коробка представляет собой прямоугольную призму, которая содержит данный объект. minimum bounding box - тот, который имеет наименьший объем или площадь поверхности.