kopia lustrzana https://github.com/JOSM/MapWithAI
Use actual maximum dimensions that MapWithAI supports
Signed-off-by: Taylor Smock <taylor.smock@kaart.com>pull/1/head
rodzic
21a76831b0
commit
e83e363f56
|
@ -52,7 +52,7 @@ import org.openstreetmap.josm.tools.Utils;
|
|||
*
|
||||
*/
|
||||
public final class MapWithAIDataUtils {
|
||||
public static final int MAXIMUM_SIDE_DIMENSIONS = 1000; // 1 km
|
||||
public static final int MAXIMUM_SIDE_DIMENSIONS = 10000; // RapiD is about 1km, max is 10km
|
||||
private static ForkJoinPool forkJoinPool;
|
||||
static final Object LAYER_LOCK = new Object();
|
||||
|
||||
|
|
|
@ -159,27 +159,35 @@ public class MapWithAIDataUtilsTest {
|
|||
public void testSplitBounds() {
|
||||
final BBox bbox = new BBox(0, 0, 0.0001, 0.0001);
|
||||
List<BBox> bboxes = MapWithAIDataUtils.reduceBBoxSize(bbox);
|
||||
Assert.assertEquals(1, bboxes.size());
|
||||
Assert.assertEquals(getExpectedNumberOfBBoxes(bbox), bboxes.size());
|
||||
checkInBBox(bbox, bboxes);
|
||||
|
||||
bbox.add(0.001, 0.001);
|
||||
bboxes = MapWithAIDataUtils.reduceBBoxSize(bbox);
|
||||
Assert.assertEquals(1, bboxes.size());
|
||||
Assert.assertEquals(getExpectedNumberOfBBoxes(bbox), bboxes.size());
|
||||
checkInBBox(bbox, bboxes);
|
||||
|
||||
bbox.add(0.01, 0.01);
|
||||
bboxes = MapWithAIDataUtils.reduceBBoxSize(bbox);
|
||||
Assert.assertEquals(4, bboxes.size());
|
||||
Assert.assertEquals(getExpectedNumberOfBBoxes(bbox), bboxes.size());
|
||||
checkInBBox(bbox, bboxes);
|
||||
checkBBoxesConnect(bbox, bboxes);
|
||||
|
||||
bbox.add(0.1, 0.1);
|
||||
bboxes = MapWithAIDataUtils.reduceBBoxSize(bbox);
|
||||
Assert.assertEquals(144, bboxes.size());
|
||||
Assert.assertEquals(getExpectedNumberOfBBoxes(bbox), bboxes.size());
|
||||
checkInBBox(bbox, bboxes);
|
||||
checkBBoxesConnect(bbox, bboxes);
|
||||
}
|
||||
|
||||
private static int getExpectedNumberOfBBoxes(BBox bbox) {
|
||||
double width = MapWithAIDataUtils.getWidth(bbox);
|
||||
double height = MapWithAIDataUtils.getHeight(bbox);
|
||||
int widthDivisions = (int) Math.ceil(width / MapWithAIDataUtils.MAXIMUM_SIDE_DIMENSIONS);
|
||||
int heightDivisions = (int) Math.ceil(height / MapWithAIDataUtils.MAXIMUM_SIDE_DIMENSIONS);
|
||||
return widthDivisions * heightDivisions;
|
||||
}
|
||||
|
||||
private static void checkInBBox(BBox bbox, Collection<BBox> bboxes) {
|
||||
for (final BBox tBBox : bboxes) {
|
||||
Assert.assertTrue(bbox.bounds(tBBox));
|
||||
|
|
Ładowanie…
Reference in New Issue