From 7891c246c3f2604e608a51a8f08597a53527abe3 Mon Sep 17 00:00:00 2001 From: m431m <mmeliani@neogeo.fr> Date: Mon, 26 Oct 2020 15:30:43 +0100 Subject: [PATCH] Resolve REDMINE_ISSUE-9479 (processing raster) --- src/mra.py | 16 ++++++++++------ src/mra.yaml.sample | 6 ++++++ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/mra.py b/src/mra.py index 93597df..c8933df 100644 --- a/src/mra.py +++ b/src/mra.py @@ -636,9 +636,11 @@ class CoverageModel(LayerModel): self.ms.type = mapscript.MS_LAYER_RASTER self.ms.setProjection(cs.get_proj4()) self.ms.setExtent(*cs.get_extent()) - self.ms.setProcessingKey("RESAMPLE", "AVERAGE") - self.ms.setProcessingKey("SCALE", "AUTO") - self.ms.setProcessingKey("NODATA", "OFF") + + processing_raster = \ + ws.mra.config["mapfile"].get("processing", {}).get("raster", {}) + for key, val in processing_raster.items(): + self.ms.setProcessingKey(key.upper(), str(val).upper()) # Configure the connection to the store. # This is a little hacky as we have to translate stuff... @@ -678,9 +680,11 @@ class CoverageModel(LayerModel): layer.ms.setProjection(self.ms.getProjection()) layer.ms.setExtent(self.ms.extent.minx, self.ms.extent.miny, self.ms.extent.maxx, self.ms.extent.maxy) - layer.ms.setProcessingKey("RESAMPLE", "AVERAGE") - layer.ms.setProcessingKey("SCALE", "AUTO") - layer.ms.setProcessingKey("NODATA", "OFF") + + for i in range(0, self.ms.numprocessing): + k, v = self.ms.getProcessing(i).split('=') + layer.ms.setProcessingKey(k, v) + layer.ms.data = self.ms.data layer.ms.connectiontype = self.ms.connectiontype layer.ms.connection = self.ms.connection diff --git a/src/mra.yaml.sample b/src/mra.yaml.sample index 1867c64..9c75e73 100644 --- a/src/mra.yaml.sample +++ b/src/mra.yaml.sample @@ -30,6 +30,12 @@ mapfile: # onlineresource: "http://... metadata: ows_srs: "EPSG:4326 EPSG:3857" + processing: + raster: + resample: average + scale: auto + nodata: off + debug: ## web_debug allows for easy debuging in the the browser, should be deactivated in production. -- GitLab