【问题标题】:Bounding Box within N degrees from a coordinate距离坐标 N 度范围内的边界框
【发布时间】:2012-06-12 21:28:24
【问题描述】:

给定一个坐标,构建一个与该坐标相差 +/- 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;
    }
}

是这样吗?

【问题讨论】:

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

标签: math geospatial latitude-longitude bounding-box


【解决方案1】:

边界框是包含给定对象的矩形棱柱。 minimum bounding box 是体积或表面积最小的那个。

【讨论】:

    猜你喜欢
    • 2010-12-13
    • 1970-01-01
    • 2013-01-09
    • 1970-01-01
    • 1970-01-01
    • 2021-08-18
    • 2014-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多