diff --git a/tilecloud_chain/internal_mapcache.py b/tilecloud_chain/internal_mapcache.py index 9351d94b8..765415dd1 100644 --- a/tilecloud_chain/internal_mapcache.py +++ b/tilecloud_chain/internal_mapcache.py @@ -113,10 +113,15 @@ def delete_one(self, tile: Tile) -> Tile: return tile def _get_key(self, tile: Tile) -> str: - return ( - f"{self._prefix}_{tile.metadata['config_file']}_{tile.metadata['layer']}_" - f"{tile.tilecoord.z}_{tile.tilecoord.x}_{tile.tilecoord.y}" - ) + keys = [ + self._prefix, + tile.metadata["config_file"], + tile.metadata["layer"], + tile.tilecoord.z, + tile.tilecoord.x, + tile.tilecoord.y, + ] + [value for key, value in tile.metadata.items() if key.startswith("dimension_")] + return "_".join([str(key) for key in keys]) @contextlib.contextmanager def lock(self, tile: Tile) -> Iterator[None]: diff --git a/tilecloud_chain/server.py b/tilecloud_chain/server.py index 53e9f97ff..e69404c7c 100644 --- a/tilecloud_chain/server.py +++ b/tilecloud_chain/server.py @@ -248,7 +248,7 @@ def get_max_zoom_seed(config: tilecloud_chain.DatedConfig, layer_name: str) -> i if "min_resolution_seed" in layer: max_zoom_seed = -1 for zoom, resolution in enumerate(config.config["grids"][layer["grid"]]["resolutions"]): - if resolution > layer["min_resolution_seed"]: + if resolution >= layer["min_resolution_seed"]: max_zoom_seed = zoom return max_zoom_seed else: