Fix issue with splitting bboxes

Signed-off-by: Taylor Smock <taylor.smock@kaart.com>
pull/1/head
Taylor Smock 2019-10-02 10:56:22 -06:00
rodzic 93f619499c
commit 9e0ef154c4
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 625F6A74A3E4311A
2 zmienionych plików z 13 dodań i 2 usunięć

Wyświetl plik

@ -259,8 +259,8 @@ public final class RapiDDataUtils {
int widthSplits = widthDivisions.intValue() + (widthDivisions - widthDivisions.intValue() > 0 ? 1 : 0);
int heightSplits = heightDivisions.intValue() + (heightDivisions - heightDivisions.intValue() > 0 ? 1 : 0);
double newMinWidths = (bbox.getTopLeftLon() - bbox.getBottomRightLon()) / widthSplits;
double newMinHeights = (bbox.getBottomRightLat() - bbox.getTopLeftLat()) / heightSplits;
double newMinWidths = Math.abs((bbox.getTopLeftLon() - bbox.getBottomRightLon())) / widthSplits;
double newMinHeights = Math.abs((bbox.getBottomRightLat() - bbox.getTopLeftLat())) / heightSplits;
double minx = bbox.getTopLeftLon();
double miny = bbox.getBottomRightLat();

Wyświetl plik

@ -112,21 +112,32 @@ public class RapiDDataUtilsTest {
BBox bbox = new BBox(0, 0, 0.0001, 0.0001);
List<BBox> bboxes = RapiDDataUtils.reduceBBoxSize(bbox);
Assert.assertEquals(1, bboxes.size());
checkInBBox(bbox, bboxes);
bbox.add(0.001, 0.001);
bboxes = RapiDDataUtils.reduceBBoxSize(bbox);
Assert.assertEquals(1, bboxes.size());
checkInBBox(bbox, bboxes);
bbox.add(0.01, 0.01);
bboxes = RapiDDataUtils.reduceBBoxSize(bbox);
Assert.assertEquals(1, bboxes.size());
checkInBBox(bbox, bboxes);
bbox.add(0.1, 0.1);
bboxes = RapiDDataUtils.reduceBBoxSize(bbox);
Assert.assertEquals(4, bboxes.size());
checkInBBox(bbox, bboxes);
bbox.add(1, 1);
bboxes = RapiDDataUtils.reduceBBoxSize(bbox);
Assert.assertEquals(144, bboxes.size());
checkInBBox(bbox, bboxes);
}
private void checkInBBox(BBox bbox, Collection<BBox> bboxes) {
for (BBox tBBox : bboxes) {
Assert.assertTrue(bbox.bounds(tBBox));
}
}
}