Example #1
0
def get_provider_grid(provider, min_zoom=None, max_zoom=None):
    """
    :param provider: The DataProvider
    :return: The tile grid used by the DataProvider
    """
    # Set custom zoom levels if available, otherwise use the provider defaults.
    min_zoom = int(min_zoom) if min_zoom else provider.level_from
    max_zoom = int(max_zoom) if max_zoom else provider.level_to

    config = load_provider_config(provider.config)
    try:
        res = config.get("grids", {}).get("default",
                                          {}).get("res", [])[min_zoom:max_zoom]
        if not res:
            levels = list(range(min_zoom, max_zoom))
            tmp = mapproxy_grid.tile_grid_for_epsg("EPSG:4326")
            res = list(map(lambda l: tmp.resolution(l), levels))
    except Exception as e:
        logger.warning("Error getting resolutions from mapproxy grid.")
        logger.error(e)
        res = None

    return mapproxy_grid.tile_grid_for_epsg("EPSG:4326",
                                            tile_size=(256, 256),
                                            res=res)
Example #2
0
def get_default_tile_grid(level=10):
    """
    A geodetic grid for EPSG:4326 containing only the specified tile level
    :param level: The desired level for the tiling grid
    :return:
    """
    tmp = mapproxy_grid.tile_grid_for_epsg('EPSG:4326')
    res = tmp.resolution(level)

    return mapproxy_grid.tile_grid_for_epsg('EPSG:4326', res=[res])
Example #3
0
def get_provider_grid(provider):
    """
    :param provider: The DataProvider
    :return: The tile grid used by the DataProvider
    """
    # TODO: Pull this provider's grid out of it's config
    levels = list(range(provider.level_from, provider.level_to + 1))
    tmp = mapproxy_grid.tile_grid_for_epsg('EPSG:4326')
    res = list(map(lambda l: tmp.resolution(l), levels))

    return mapproxy_grid.tile_grid_for_epsg('EPSG:4326',
                                            tile_size=(256, 256),
                                            res=res)
Example #4
0
 def test_res_range_open_from(self):
     levels = LevelsResolutionRange([None, 100])
     assert levels.for_grid(tile_grid_for_epsg(900913)) == [
         0,
         1,
         2,
         3,
         4,
         5,
         6,
         7,
         8,
         9,
         10,
         11,
     ]
Example #5
0
 def test_res_range_open_to(self):
     levels = LevelsResolutionRange([1000, None])
     assert levels.for_grid(tile_grid_for_epsg(900913)) == [
         8,
         9,
         10,
         11,
         12,
         13,
         14,
         15,
         16,
         17,
         18,
         19,
     ]
Example #6
0
 def test_res_range_open_to(self):
     levels = LevelsResolutionRange([1000, None])
     eq_(levels.for_grid(tile_grid_for_epsg(900913)),
         [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19])
Example #7
0
 def test_level_range_open_tos_range(self):
     levels = LevelsResolutionRange([1000, 100])
     assert levels.for_grid(tile_grid_for_epsg(900913)) == [8, 9, 10, 11]
Example #8
0
 def test_level_range_open_to(self):
     levels = LevelsRange([13, None])
     assert levels.for_grid(
         tile_grid_for_epsg(4326)) == [13, 14, 15, 16, 17, 18, 19]
Example #9
0
 def test_level_range_open_from(self):
     levels = LevelsRange([None, 5])
     assert levels.for_grid(tile_grid_for_epsg(4326)) == [0, 1, 2, 3, 4, 5]
Example #10
0
 def test_level_range(self):
     levels = LevelsRange([1, 5])
     assert levels.for_grid(tile_grid_for_epsg(4326)) == [1, 2, 3, 4, 5]
Example #11
0
 def test_level_list(self):
     levels = LevelsList([-10, 3, 1, 3, 5, 7, 50])
     assert levels.for_grid(tile_grid_for_epsg(4326)) == [1, 3, 5, 7]
Example #12
0
 def test_level_range(self):
     levels = LevelsRange([1, 5])
     eq_(levels.for_grid(tile_grid_for_epsg(4326)), [1, 2, 3, 4, 5])
Example #13
0
 def test_level_list(self):
     levels = LevelsList([-10, 3, 1, 3, 5, 7, 50])
     eq_(levels.for_grid(tile_grid_for_epsg(4326)), [1, 3, 5, 7])
Example #14
0
 def test_level_list(self):
     levels = LevelsList([-10, 3, 1, 3, 5, 7, 50])
     eq_(levels.for_grid(tile_grid_for_epsg(4326)),
         [1, 3, 5, 7])
Example #15
0
 def test_res_range_open_from(self):
     levels = LevelsResolutionRange([None, 100])
     eq_(levels.for_grid(tile_grid_for_epsg(900913)),
         [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
Example #16
0
 def test_level_range_open_tos_range(self):
     levels = LevelsResolutionRange([1000, 100])
     eq_(levels.for_grid(tile_grid_for_epsg(900913)),
         [8, 9, 10, 11])
Example #17
0
 def test_level_range_open_to(self):
     levels = LevelsRange([13, None])
     eq_(levels.for_grid(tile_grid_for_epsg(4326)),
         [13, 14, 15, 16, 17, 18, 19])
Example #18
0
 def test_level_range_open_from(self):
     levels = LevelsRange([None, 5])
     eq_(levels.for_grid(tile_grid_for_epsg(4326)),
         [0, 1, 2, 3, 4, 5])
Example #19
0
 def test_level_range(self):
     levels = LevelsRange([1, 5])
     eq_(levels.for_grid(tile_grid_for_epsg(4326)),
         [1, 2, 3, 4, 5])
Example #20
0
 def test_resolution_list(self):
     levels = LevelsResolutionList([1000, 100, 500])
     assert levels.for_grid(tile_grid_for_epsg(900913)) == [8, 9, 11]
Example #21
0
 def test_resolution_list(self):
     levels = LevelsResolutionList([1000, 100, 500])
     eq_(levels.for_grid(tile_grid_for_epsg(900913)),
         [8, 9, 11])