def test_with_two_columns(node1): node2 = node1.add_meter(200, Manager.small_bbox_side_length + 50) manager = Manager(bbox=Bbox.from_leftdown_rightup(node1, node2), job_queue_name='dummy') columns = manager._calc_columns() rows = manager._calc_rows() assert rows == 1 assert columns == 2
def test_big_bbox(node1, node2): manager = Manager(bbox=Bbox.from_leftdown_rightup(node1, node2), job_queue_name='dummy') 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)
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_leftdown_rightup(left_down, right_up) return Tile(img, bbox)
def test_first(node1, node2): manager = Manager(bbox=Bbox.from_leftdown_rightup(node1, node2), job_queue_name='dummy') manager._generate_small_bboxes() assert manager.small_bboxes[0].left == node1.longitude assert manager.small_bboxes[0].bottom == node1.latitude