ボックスごとに 1 つのオブジェクト (num_objects) のカウントを持つ 6 つのボックスのリスト (boxlist) があります。各ボックスは地理コンテキストに存在します (特定の緯度と経度の座標にあります)。
//iterate through each of the boxes in the list (6)
for (int i = 0; i < boxlist.size(); i++){
//get the first box... then second box... etc (call it target box)
Box targetbox = boxlist.get(i);
Context context = ContextUtils.getContext(targetbox);
Geography<Object> geography = (Geography)context.getProjection("Geography");
Geometry geom = geography.getGeometry(targetbox);
//get the coordinates of the target box
Coordinate coord = geom.getCoordinates()[0];
//for each of the 6 boxes, get the number of objects in the target box
double num = targetbox.getNum_objects();
// print the number of objects in each box (1)
System.out.println(num);
//create random utility
Random random = new Random();
// create the same number of BoxObjects as the num_objects in the box and place them in the geography at the same location as the box they are in (take them out of the box)
for (int j = 0; j < num; j++) {
boolean randomBoolean = random.nextBoolean();
boolean anotherBoolean = false;
BoxObject obj = new BoxObject(context, geography, randomBoolean, anotherBoolean);
context.add(obj);
// move to the object to the same coordinates of its box
geography.move(obj, new GeometryFactory().createPoint(coord));
}
}
私のループは、6 つのオブジェクトを作成する必要があるボックス内に 1 つのオブジェクトを含む 6 つのボックスがあることを正しくカウントしていますが、12 個のオブジェクトを作成しています。どうすればこれを修正できますか?
注: 実際のシミュレーションでは、ボックスに複数のオブジェクトが含まれる場合があります。