Ограничивающая рамка в пределах N градусов от координаты

По заданной координате постройте ограничивающую рамку, отстоящую на +/- N градусов от этой координаты. Ограничительная рамка будет определяться lat_min, lat_max, lng_min и lng_max. У меня есть следующий код на Java (предположим, что все входные данные указаны в градусах):

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

Это правильно?


person Prasanna    schedule 08.06.2012    source источник
comment
Ты это пробовал? Если бы я был вашим учителем, я бы проверил ваш код вблизи международной линии перемены дат и вблизи полюсов.   -  person Beta    schedule 09.06.2012


Ответы (1)


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

person tskuzzy    schedule 08.06.2012