def test_bbox_transform(self): bbox = BBox(((111.644, 8.655), (111.7, 8.688)), CRS.WGS84) new_bbox = geo_utils.transform_bbox(bbox, CRS.POP_WEB) expected_bbox = BBox((12428153.23, 967155.41, 12434387.12, 970871.43), CRS.POP_WEB) for coord, expected_coord in zip(new_bbox, expected_bbox): self.assertAlmostEqual(coord, expected_coord, delta=1E-2, msg='Expected coord {}, got {}'.format(expected_coord, coord)) self.assertEqual(new_bbox.get_crs(), expected_bbox.get_crs(), 'Expected CRS {}, got {}'.format(expected_bbox.get_crs(), new_bbox.get_crs()))
def test_bbox_from_bbox(self): bbox_dict = {'min_x': 46.07, 'min_y': 13.23, 'max_x': 46.24, 'max_y': 13.57} bbox_fst = BBox(bbox_dict, CRS.WGS84) bbox = BBox(bbox_fst, CRS.WGS84) self.assertEqual(bbox.get_upper_right(), (46.24, 13.57)) self.assertEqual(bbox.get_lower_left(), (46.07, 13.23)) self.assertEqual(bbox.get_crs(), CRS.WGS84)
def test_bbox_from_flat_list(self): for bbox_lst in [[46.07, 13.23, 46.24, 13.57], [46.24, 13.23, 46.07, 13.57], [46.07, 13.57, 46.24, 13.23], [46.24, 13.57, 46.07, 13.23]]: with self.subTest(msg="bbox={}".format(bbox_lst)): bbox = BBox(bbox_lst, CRS.WGS84) self.assertEqual(bbox.get_lower_left(), (46.07, 13.23)) self.assertEqual(bbox.get_upper_right(), (46.24, 13.57)) self.assertEqual(bbox.get_crs(), CRS.WGS84)
def test_bbox_from_list_tuple_combo(self): bbox_list = [(46.07, 13.23), (46.24, 13.57)] bbox = BBox(bbox_list, CRS.WGS84) self.assertEqual(bbox.get_upper_right(), (46.24, 13.57)) self.assertEqual(bbox.get_lower_left(), (46.07, 13.23)) self.assertEqual(bbox.get_crs(), CRS.WGS84)
def test_bbox_from_nested_tuple(self): bbox_tup = (46.07, 13.23), (46.24, 13.57) bbox = BBox(bbox_tup, CRS.WGS84) self.assertEqual(bbox.get_upper_right(), (46.24, 13.57)) self.assertEqual(bbox.get_lower_left(), (46.07, 13.23)) self.assertEqual(bbox.get_crs(), CRS.WGS84)
def test_bbox_from_nested_list(self): bbox_lst = [[-46.07, -13.23], [46.24, 13.57]] bbox = BBox(bbox_lst, CRS.WGS84) self.assertEqual(bbox.get_upper_right(), (46.24, 13.57)) self.assertEqual(bbox.get_lower_left(), (-46.07, -13.23)) self.assertEqual(bbox.get_crs(), CRS.WGS84)
def test_bbox_from_string(self): bbox_str = '46.07, 13.23, 46.24, 13.57' bbox = BBox(bbox_str, CRS.WGS84) self.assertEqual(bbox.get_lower_left(), (46.07, 13.23)) self.assertEqual(bbox.get_upper_right(), (46.24, 13.57)) self.assertEqual(bbox.get_crs(), CRS.WGS84)