diff --git a/examples/custom_tile_size/custom_tile_size.mapchete b/examples/custom_tile_size/custom_tile_size.mapchete new file mode 100644 index 0000000..ef00c61 --- /dev/null +++ b/examples/custom_tile_size/custom_tile_size.mapchete @@ -0,0 +1,30 @@ +process: mapchete.processes.convert +input: + inp: ../../test/testdata/custom_grid_points.geojson +output: + format: GeoJSON + path: output + schema: + properties: + name: str + geometry: Unknown +pyramid: + grid: + shape: + - 1525 + - 125 + bounds: + - 166020 + - 0 + - 934020 + - 9369600 + is_global: false + proj: +proj=utm +zone=32 +datum=WGS84 +units=m +no_defs + metatiling: 4 + tile_size: 1000 +zoom_levels: 3 +bounds: +- 166020 +- 0 +- 934020 +- 9369600 \ No newline at end of file diff --git a/mapchete/config/models.py b/mapchete/config/models.py index 969018d..9e68204 100644 --- a/mapchete/config/models.py +++ b/mapchete/config/models.py @@ -29,6 +29,7 @@ class PyramidConfig(BaseModel): grid: Union[str, dict] metatiling: MetatilingValue = 1 pixelbuffer: NonNegativeInt = 0 + tile_size: Optional[NonNegativeInt] = None class DaskAdaptOptions(BaseModel): diff --git a/mapchete/config/parse.py b/mapchete/config/parse.py index 5f5dbac..324f83c 100644 --- a/mapchete/config/parse.py +++ b/mapchete/config/parse.py @@ -62,9 +62,11 @@ def raw_conf_process_pyramid( BufferedTilePyramid """ pixelbuffer = 0 if reset_pixelbuffer else raw_conf["pyramid"].get("pixelbuffer", 0) + tile_size = raw_conf["pyramid"].get("tile_size", 256) return BufferedTilePyramid( raw_conf["pyramid"]["grid"], metatiling=raw_conf["pyramid"].get("metatiling", 1), + tile_size=tile_size, pixelbuffer=pixelbuffer, ) @@ -82,11 +84,13 @@ def raw_conf_output_pyramid(raw_conf: dict) -> BufferedTilePyramid: ------- BufferedTilePyramid """ + tile_size = raw_conf["pyramid"].get("tile_size", 256) return BufferedTilePyramid( raw_conf["pyramid"]["grid"], metatiling=raw_conf["output"].get( "metatiling", raw_conf["pyramid"].get("metatiling", 1) ), + tile_size=tile_size, pixelbuffer=raw_conf["pyramid"].get( "pixelbuffer", raw_conf["pyramid"].get("pixelbuffer", 0) ),