private Node createRandomSmallRectNode(int intId) { final double minX = maxBounds.getMinX(); final double minY = maxBounds.getMinY(); final double x1 = minX + maxBounds.getWidth() * random.nextDouble(); final double y1 = minY + maxBounds.getHeight() * random.nextDouble(); final double stepx = (maxBounds.getWidth() / 1000) * random.nextDouble(); final double stepy = (maxBounds.getHeight() / 1000) * random.nextDouble(); final double x2 = Math.min(maxBounds.getMaxX(), x1 + stepx); final double y2 = Math.min(maxBounds.getMaxY(), y1 + stepy); Envelope bounds = new Envelope(x1, x2, y1, y2); return createNode(intId, bounds); }
private Node createRandomPointNode(Integer intId) { final double minX = maxBounds.getMinX(); final double minY = maxBounds.getMinY(); double x = minX + maxBounds.getWidth() * random.nextDouble(); double y = minY + maxBounds.getHeight() * random.nextDouble(); Envelope bounds = new Envelope(x, x, y, y); Node node = createNode(intId, bounds); return node; }
private Node createRandomPointNode(Integer intId) { final double minX = maxBounds.getMinX(); final double minY = maxBounds.getMinY(); double x = minX + maxBounds.getWidth() * random.nextDouble(); double y = minY + maxBounds.getHeight() * random.nextDouble(); Envelope bounds = new Envelope(x, x, y, y); Node node = createNode(intId, bounds); return node; }
private Node createRandomSmallRectNode(int intId) { final double minX = maxBounds.getMinX(); final double minY = maxBounds.getMinY(); final double x1 = minX + maxBounds.getWidth() * random.nextDouble(); final double y1 = minY + maxBounds.getHeight() * random.nextDouble(); final double stepx = (maxBounds.getWidth() / 1000) * random.nextDouble(); final double stepy = (maxBounds.getHeight() / 1000) * random.nextDouble(); final double x2 = Math.min(maxBounds.getMaxX(), x1 + stepx); final double y2 = Math.min(maxBounds.getMaxY(), y1 + stepy); Envelope bounds = new Envelope(x1, x2, y1, y2); return createNode(intId, bounds); }
public @Test void testNullGeometriesGoToRootUnpromotablesTree() { int size = 128; List<Node> nodes = createPointNodes(nodeRange(size)); RevTreeBuilder builder = createQuadTree(maxBounds, nodes); Node nullEnvNode = createNode(10000, null); builder.put(nullEnvNode); RevTree tree = builder.build(); assertNotEquals(0, tree.bucketsSize()); List<Node> matches = findNode(nullEnvNode.getName(), tree, objectStore); assertEquals(1, matches.size()); Integer unpromotablesBucketIndex = Integer.valueOf(4); assertTrue(tree.getBucket(unpromotablesBucketIndex).isPresent()); RevTree unpromotables = objectStore .getTree(tree.getBucket(unpromotablesBucketIndex).get().getObjectId()); matches = findNode(nullEnvNode.getName(), unpromotables, objectStore); assertEquals(1, matches.size()); }
public @Test void testNullGeometriesGoToRootUnpromotablesTree() { int size = 128; List<Node> nodes = createPointNodes(nodeRange(size)); RevTreeBuilder builder = createQuadTree(maxBounds, nodes); Node nullEnvNode = createNode(10000, null); builder.put(nullEnvNode); RevTree tree = builder.build(); assertFalse(tree.buckets().isEmpty()); List<Node> matches = findNode(nullEnvNode.getName(), tree, objectStore); assertEquals(1, matches.size()); Integer unpromotablesBucketIndex = Integer.valueOf(4); assertTrue(tree.buckets().keySet().contains(unpromotablesBucketIndex)); RevTree unpromotables = objectStore .getTree(tree.buckets().get(unpromotablesBucketIndex).getObjectId()); matches = findNode(nullEnvNode.getName(), unpromotables, objectStore); assertEquals(1, matches.size()); }