0

Ich habe zwei Positionen (lat, lang): A und B, die als Bounding Box angegeben sind. A: (41, 7) B: (43, 8)Diskretisierung der Bounding Box zu 40x40 Gitter

Ich muss ein 40x40-Raster erstellen, um die Bounding-Box zu diskretisieren.

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

Einer der Punkte, die ich bekomme, ist (41,005, 7,001).

Wie kann ich dieses Gitter in Java machen, um 1600 Punkte aus dieser Bounding Box zu bekommen?

Antwort

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

Ich bin nicht vollkommen sicher, ob ich Ihre Frage verstanden, aber dieser Code wird eine Array-Liste enthält ein Raster von 1600 (Gridsize^2) Punkten in einem 40 * 40 Raster in dem gewünschten perimetter erstellen.

Das Point-Objekt, das hier verwendet wird, ist ein Paar von Doppelpunkten, die x und y genannt werden. Sie müssen dieses Objekt erstellen.

Verwandte Themen