【问题标题】:discretize the bounding box to 40x40 grid将边界框离散为 40x40 网格
【发布时间】:2017-12-16 21:45:18
【问题描述】:

我有两个位置(纬度、经度):A 和 B,它们作为边界框给出。 A : (41, 7) B : (43, 8)

我需要制作一个 40x40 的网格来离散化边界框。

41,8. . . . 43,8
.           .
.           .
.           .
.           .
41,7. . . . 43,7

我得到的分数之一是 (41.005, 7.001)。

如何在 Java 中制作这个网格,以便在这个边界框外获得 1600 个点?

【问题讨论】:

    标签: java algorithm geolocation latitude-longitude bounding-box


    【解决方案1】:
        //Make sure a.x<b.x & a.y <b.y
        Point a = new Point(41,7);
        Point b = new Point(43,8);
        final int gridsize = 40;        
    
        ArrayList<Point> grid = new ArrayList<Point>(gridsize*gridsize);
        for (double i = a.getX(); i <= b.getX(); i += b.getX() - a.getX() / (double)(gridsize-1))
            for (double j = a.getY(); j <= b.getY(); j +=  b.getY()- a.getY() / (double)(gridsize-1))
                grid.add(new Point(i, j));
    

    我不太确定我是否理解了您的问题,但此代码将创建一个数组列表,其中包含所需周长中 40*40 网格中 1600 (gridsize^2) 个点的网格。

    这里使用的 Point 对象是一对称为 x 和 y 的双精度对象,您需要创建这个对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-18
      • 1970-01-01
      • 1970-01-01
      • 2021-05-03
      • 2012-09-25
      • 2013-11-18
      相关资源
      最近更新 更多