我有两个位置(lat,long):A和B,它们作为边界框给出。 答:(41,7) B:(43,4)
我需要制作一个40x40网格来离散边框。
41,8. . . . 43,8
. .
. .
. .
. .
41,7. . . . 43,7
我得到的一点是(41.005,7.001)。
如何在Java中使用此网格从此边界框中获取1600个点?
答案 0 :(得分:0)
//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(网格^ 2)点的网格。
这里使用的Point对象是一个名为x和y的双精度数,你需要创建这个对象。