def test_google_wts(): gt = cimgt.GoogleTiles() ll_target_domain = sgeom.box(-15, 50, 0, 60) multi_poly = gt.crs.project_geometry(ll_target_domain, ccrs.PlateCarree()) target_domain = multi_poly.geoms[0] with assert_raises(AssertionError): list(gt.find_images(target_domain, -1)) assert_equal(tuple(gt.find_images(target_domain, 0)), ((0, 0, 0),)) assert_equal(tuple(gt.find_images(target_domain, 2)), ((1, 1, 2), (2, 1, 2))) assert_equal(list(gt.subtiles((0, 0, 0))), [(0, 0, 1), (0, 1, 1), (1, 0, 1), (1, 1, 1)]) assert_equal(list(gt.subtiles((1, 0, 1))), [(2, 0, 2), (2, 1, 2), (3, 0, 2), (3, 1, 2)]) with assert_raises(AssertionError): gt.tileextent((0, 1, 0)) assert_arr_almost(gt.tileextent((0, 0, 0)), KNOWN_EXTENTS[(0, 0, 0)]) assert_arr_almost(gt.tileextent((2, 0, 2)), KNOWN_EXTENTS[(2, 0, 2)]) assert_arr_almost(gt.tileextent((0, 2, 2)), KNOWN_EXTENTS[(0, 2, 2)]) assert_arr_almost(gt.tileextent((2, 2, 2)), KNOWN_EXTENTS[(2, 2, 2)]) assert_arr_almost(gt.tileextent((8, 9, 4)), KNOWN_EXTENTS[(8, 9, 4)])
def test_google_wts(): gt = cimgt.GoogleTiles() ll_target_domain = sgeom.box(-15, 50, 0, 60) multi_poly = gt.crs.project_geometry(ll_target_domain, ccrs.PlateCarree()) target_domain = multi_poly.geoms[0] with pytest.raises(AssertionError): list(gt.find_images(target_domain, -1)) assert (tuple(gt.find_images(target_domain, 0)) == ((0, 0, 0), )) assert (tuple(gt.find_images(target_domain, 2)) == ((1, 1, 2), (2, 1, 2))) assert (list(gt.subtiles((0, 0, 0))) == [(0, 0, 1), (0, 1, 1), (1, 0, 1), (1, 1, 1)]) assert (list(gt.subtiles((1, 0, 1))) == [(2, 0, 2), (2, 1, 2), (3, 0, 2), (3, 1, 2)]) with pytest.raises(AssertionError): gt.tileextent((0, 1, 0)) assert_arr_almost(gt.tileextent((0, 0, 0)), KNOWN_EXTENTS[(0, 0, 0)]) assert_arr_almost(gt.tileextent((2, 0, 2)), KNOWN_EXTENTS[(2, 0, 2)]) assert_arr_almost(gt.tileextent((0, 2, 2)), KNOWN_EXTENTS[(0, 2, 2)]) assert_arr_almost(gt.tileextent((2, 2, 2)), KNOWN_EXTENTS[(2, 2, 2)]) assert_arr_almost(gt.tileextent((8, 9, 4)), KNOWN_EXTENTS[(8, 9, 4)])
def test_google_wts(): gt = cimgt.GoogleTiles() extent = [-15, 0.1, 50, 60] target_domain = shapely.geometry.Polygon([[extent[0], extent[1]], [extent[2], extent[1]], [extent[2], extent[3]], [extent[0], extent[3]], [extent[0], extent[1]]]) with assert_raises(AssertionError): list(gt.find_images(target_domain, -1)) assert_equal(tuple(gt.find_images(target_domain, 0)), ((0, 0, 0),)) assert_equal(tuple(gt.find_images(target_domain, 2)), ((1, 1, 2), (2, 1, 2))) assert_equal(list(gt.subtiles((0, 0, 0))), [(0, 0, 1), (0, 1, 1), (1, 0, 1), (1, 1, 1)]) assert_equal(list(gt.subtiles((1, 0, 1))), [(2, 0, 2), (2, 1, 2), (3, 0, 2), (3, 1, 2)]) with assert_raises(AssertionError): gt.tileextent((0, 1, 0)) assert_arr_almost(gt.tileextent((0, 0, 0)), (-180.0, 180.0, 179.02740096396502, -179.02740096396491)) assert_arr_almost(gt.tileextent((2, 0, 2)), (0.0, 90.0, 179.02740096396502, 89.513700481982539)) assert_arr_almost(gt.tileextent((0, 2, 2)), (-180.0, -90.0, 5.6843418860808015e-14, -89.513700481982426)) assert_arr_almost(gt.tileextent((2, 2, 2)), (0.0, 90.0, 5.6843418860808015e-14, -89.513700481982426)) assert_arr_almost(gt.tileextent((8, 9, 4)), (0.0, 22.5, -22.37842512, -44.75685024)) # <- zoom 4, contains cape town.
def test_image_for_domain(): gt = cimgt.GoogleTiles() gt._image_url = types.MethodType(GOOGLE_IMAGE_URL_REPLACEMENT, gt) ll_target_domain = sgeom.box(-10, 50, 10, 60) multi_poly = gt.crs.project_geometry(ll_target_domain, ccrs.PlateCarree()) target_domain = multi_poly.geoms[0] _, extent, _ = gt.image_for_domain(target_domain, 6) ll_extent = ccrs.Geodetic().transform_points(gt.crs, np.array(extent[:2]), np.array(extent[2:])) assert_arr_almost(ll_extent[:, :2], [[-11.25, 48.92249926], [11.25, 61.60639637]])
def test_google_wts(): gt = cimgt.GoogleTiles() extent = [-15, 0.1, 50, 60] target_domain = shapely.geometry.Polygon([[extent[0], extent[1]], [extent[2], extent[1]], [extent[2], extent[3]], [extent[0], extent[3]], [extent[0], extent[1]]]) with assert_raises(AssertionError): list(gt.find_images(target_domain, -1)) assert_equal(tuple(gt.find_images(target_domain, 0)), ((0, 0, 0), )) assert_equal(tuple(gt.find_images(target_domain, 2)), ((1, 1, 2), (2, 1, 2))) assert_equal(list(gt.subtiles((0, 0, 0))), [(0, 0, 1), (0, 1, 1), (1, 0, 1), (1, 1, 1)]) assert_equal(list(gt.subtiles((1, 0, 1))), [(2, 0, 2), (2, 1, 2), (3, 0, 2), (3, 1, 2)]) with assert_raises(AssertionError): gt.tileextent((0, 1, 0)) assert_arr_almost(gt.tileextent((0, 0, 0)), (-180.0, 180.0, 179.02740096396502, -179.02740096396491)) assert_arr_almost(gt.tileextent((2, 0, 2)), (0.0, 90.0, 179.02740096396502, 89.513700481982539)) assert_arr_almost(gt.tileextent( (0, 2, 2)), (-180.0, -90.0, 5.6843418860808015e-14, -89.513700481982426)) assert_arr_almost(gt.tileextent((2, 2, 2)), (0.0, 90.0, 5.6843418860808015e-14, -89.513700481982426)) assert_arr_almost(gt.tileextent((8, 9, 4)), (0.0, 22.5, -22.37842512, -44.75685024)) # <- zoom 4, contains cape town.
def test_quadtree_wts(): qt = cimgt.QuadtreeTiles() extent = [-15, 0.1, 50, 60] target_domain = shapely.geometry.Polygon([[extent[0], extent[1]], [extent[2], extent[1]], [extent[2], extent[3]], [extent[0], extent[3]], [extent[0], extent[1]]]) with assert_raises(ValueError): list(qt.find_images(target_domain, 0)) assert_equal(qt.tms_to_quadkey((1, 1, 1)), '1') assert_equal(qt.quadkey_to_tms('1'), (1, 1, 1)) assert_equal(qt.tms_to_quadkey((8, 9, 4)), '1220') assert_equal(qt.quadkey_to_tms('1220'), (8, 9, 4)) assert_equal(tuple(qt.find_images(target_domain, 1)), ('0', '1')) assert_equal(tuple(qt.find_images(target_domain, 2)), ('03', '12')) assert_equal(list(qt.subtiles('0')), ['00', '01', '02', '03']) assert_equal(list(qt.subtiles('11')), ['110', '111', '112', '113']) with assert_raises(ValueError): qt.tileextent('4') assert_arr_almost(qt.tileextent(''), (-180.0, 180.0, 179.02740096, -179.02740096)) assert_arr_almost(qt.tileextent(qt.tms_to_quadkey((2, 0, 2), google=True)), (0.0, 90.0, 179.02740096, 89.51370048)) assert_arr_almost(qt.tileextent(qt.tms_to_quadkey((0, 2, 2), google=True)), (-180.0, -90.0, 5.68434189e-14, -8.95137005e+01)) assert_arr_almost(qt.tileextent(qt.tms_to_quadkey((0, 1, 2), google=True)), (-180.0, -90.0, 8.95137005e+01, 5.68434189e-14)) assert_arr_almost(qt.tileextent(qt.tms_to_quadkey((2, 2, 2), google=True)), (0.0, 90.0, 5.68434189e-14, -8.95137005e+01)) assert_arr_almost(qt.tileextent(qt.tms_to_quadkey((8, 9, 4), google=True)), (0.0, 22.5, -22.37842512, -44.75685024))
def test_quadtree_wts(): qt = cimgt.QuadtreeTiles() ll_target_domain = sgeom.box(-15, 50, 0, 60) multi_poly = qt.crs.project_geometry(ll_target_domain, ccrs.PlateCarree()) target_domain = multi_poly.geoms[0] with assert_raises(ValueError): list(qt.find_images(target_domain, 0)) assert_equal(qt.tms_to_quadkey((1, 1, 1)), '1') assert_equal(qt.quadkey_to_tms('1'), (1, 1, 1)) assert_equal(qt.tms_to_quadkey((8, 9, 4)), '1220') assert_equal(qt.quadkey_to_tms('1220'), (8, 9, 4)) assert_equal(tuple(qt.find_images(target_domain, 1)), ('0', '1')) assert_equal(tuple(qt.find_images(target_domain, 2)), ('03', '12')) assert_equal(list(qt.subtiles('0')), ['00', '01', '02', '03']) assert_equal(list(qt.subtiles('11')), ['110', '111', '112', '113']) with assert_raises(ValueError): qt.tileextent('4') assert_arr_almost(qt.tileextent(''), KNOWN_EXTENTS[(0, 0, 0)]) assert_arr_almost(qt.tileextent(qt.tms_to_quadkey((2, 0, 2), google=True)), KNOWN_EXTENTS[(2, 0, 2)]) assert_arr_almost(qt.tileextent(qt.tms_to_quadkey((0, 2, 2), google=True)), KNOWN_EXTENTS[(0, 2, 2)]) assert_arr_almost(qt.tileextent(qt.tms_to_quadkey((2, 0, 2), google=True)), KNOWN_EXTENTS[(2, 0, 2)]) assert_arr_almost(qt.tileextent(qt.tms_to_quadkey((2, 2, 2), google=True)), KNOWN_EXTENTS[(2, 2, 2)]) assert_arr_almost(qt.tileextent(qt.tms_to_quadkey((8, 9, 4), google=True)), KNOWN_EXTENTS[(8, 9, 4)])
def test_tile_bbox_y0_at_south_pole(): tms = cimgt.MapQuestOpenAerial() # Check the y0_at_north_pole keywords returns the appropriate bounds. assert_arr_almost(tms.tile_bbox(8, 6, 4, y0_at_north_pole=False), np.array(KNOWN_EXTENTS[(8, 9, 4)]).reshape([2, 2]))
def test_quadtree_wts(): qt = cimgt.QuadtreeTiles() ll_target_domain = sgeom.box(-15, 50, 0, 60) multi_poly = qt.crs.project_geometry(ll_target_domain, ccrs.PlateCarree()) target_domain = multi_poly.geoms[0] with pytest.raises(ValueError): list(qt.find_images(target_domain, 0)) assert qt.tms_to_quadkey((1, 1, 1)) == '1' assert qt.quadkey_to_tms('1') == (1, 1, 1) assert qt.tms_to_quadkey((8, 9, 4)) == '1220' assert qt.quadkey_to_tms('1220') == (8, 9, 4) assert tuple(qt.find_images(target_domain, 1)) == ('0', '1') assert tuple(qt.find_images(target_domain, 2)) == ('03', '12') assert list(qt.subtiles('0')) == ['00', '01', '02', '03'] assert list(qt.subtiles('11')) == ['110', '111', '112', '113'] with pytest.raises(ValueError): qt.tileextent('4') assert_arr_almost(qt.tileextent(''), KNOWN_EXTENTS[(0, 0, 0)]) assert_arr_almost(qt.tileextent(qt.tms_to_quadkey((2, 0, 2), google=True)), KNOWN_EXTENTS[(2, 0, 2)]) assert_arr_almost(qt.tileextent(qt.tms_to_quadkey((0, 2, 2), google=True)), KNOWN_EXTENTS[(0, 2, 2)]) assert_arr_almost(qt.tileextent(qt.tms_to_quadkey((2, 0, 2), google=True)), KNOWN_EXTENTS[(2, 0, 2)]) assert_arr_almost(qt.tileextent(qt.tms_to_quadkey((2, 2, 2), google=True)), KNOWN_EXTENTS[(2, 2, 2)]) assert_arr_almost(qt.tileextent(qt.tms_to_quadkey((8, 9, 4), google=True)), KNOWN_EXTENTS[(8, 9, 4)])