Example #1
0
def test_first(node1, node2, default_config):
    manager = Manager(bbox=Bbox.from_nodes(node_left_down=node1,
                                           node_right_up=node2),
                      configuration=default_config)
    manager._generate_small_bboxes()
    assert manager.small_bboxes[0].left == node1.longitude
    assert manager.small_bboxes[0].bottom == node1.latitude
def test_with_three(node1, configuration_no_compare):
    node2 = node1.add_meter(2 * configuration_no_compare.bbox_size + 50, 2 * configuration_no_compare.bbox_size + 50)
    manager = Manager(bbox=Bbox.from_nodes(node_left_down=node1, node_right_up=node2))
    columns = manager._calc_columns()
    rows = manager._calc_rows()
    assert rows == 3
    assert columns == 3
Example #3
0
def test_with_two_columns(node1, configuration_no_compare):
    node2 = node1.add_meter(200, configuration_no_compare.bbox_size + 50)
    manager = Manager(
        bbox=Bbox.from_nodes(node_left_down=node1, node_right_up=node2))
    columns = manager._calc_columns()
    rows = manager._calc_rows()
    assert rows == 1
    assert columns == 2
Example #4
0
def test_with_three(node1, configuration_no_compare):
    bbox_size = int(configuration_no_compare.JOB.bboxsize)
    node2 = node1.add_meter(2 * bbox_size + 50, 2 * bbox_size + 50)
    manager = Manager(bbox=Bbox.from_nodes(node_left_down=node1,
                                           node_right_up=node2),
                      configuration=configuration_no_compare)
    columns = manager._calc_columns()
    rows = manager._calc_rows()
    assert rows == 3
    assert columns == 3
def test_big_bbox(node1, node2):
    manager = Manager(bbox=Bbox.from_nodes(node_left_down=node1, node_right_up=node2))
    length = len(manager.small_bboxes)
    manager._generate_small_bboxes()
    assert manager.small_bboxes[0].left == node1.longitude
    assert manager.small_bboxes[0].bottom == node1.latitude
    assert (manager.small_bboxes[length - 1].right >= node2.longitude
            and manager.small_bboxes[length - 1].right <= node2.longitude + 0.05)
    assert (manager.small_bboxes[length - 1].top >= node2.latitude
            and manager.small_bboxes[length - 1].top <= node2.latitude + 0.05)
Example #6
0
def test_big_bbox(node1, node2):
    manager = Manager(
        bbox=Bbox.from_nodes(node_left_down=node1, node_right_up=node2))
    length = len(manager.small_bboxes)
    manager._generate_small_bboxes()
    assert manager.small_bboxes[0].left == node1.longitude
    assert manager.small_bboxes[0].bottom == node1.latitude
    assert (manager.small_bboxes[length - 1].right >= node2.longitude and
            manager.small_bboxes[length - 1].right <= node2.longitude + 0.05)
    assert (manager.small_bboxes[length - 1].top >= node2.latitude
            and manager.small_bboxes[length - 1].top <= node2.latitude + 0.05)
Example #7
0
    def get_tile_by_node(self, centre_node, side_length):
        centre_pixel = self.get_pixel(centre_node)
        x1 = centre_pixel[0] - side_length // 2
        x2 = centre_pixel[0] + side_length // 2
        y1 = centre_pixel[1] - side_length // 2
        y2 = centre_pixel[1] + side_length // 2

        crop_box = (x1, y1, x2, y2)
        img = self.image.crop(crop_box)
        left_down = self.get_node((x1, y1))
        right_up = self.get_node((x2, y2))
        bbox = Bbox.from_nodes(node_left_down=left_down, node_right_up=right_up)

        return Tile(img, bbox)
Example #8
0
def main(args):
    coords = [args.coord[i:i + 2] for i in range(0, len(args.coord), 2)]
    coords = list(map(lambda c: Node(*c), coords))
    bbox = Bbox.from_nodes(coords[0], coords[1])
    if args.tags:
        tags = map(lambda kv: Tag(key=kv[0], value=kv[1]),
                   map(lambda kv: kv.split('=', 1), args.tags.split(',')))
        walker = OsmObjectWalker(Tile(image_api=WmsApi(), bbox=bbox),
                                 tags,
                                 square_image_length=100)
    else:
        walker = CoordWalker(Tile(image_api=WmsApi(), bbox=bbox),
                             coords,
                             square_image_length=100)

    tiles = walker.get_tiles()
    for n, t in enumerate(tiles):
        centre_node = t.get_centre_node()
        name = "fetch/{0:02.8}_{1:02.8}.png".format(centre_node.latitude,
                                                    centre_node.longitude)
        t.image.save(name, "PNG")
        print(name)
def test_first(node1, node2):
    manager = Manager(bbox=Bbox.from_nodes(node_left_down=node1, node_right_up=node2))
    manager._generate_small_bboxes()
    assert manager.small_bboxes[0].left == node1.longitude
    assert manager.small_bboxes[0].bottom == node1.latitude