diff --git a/src/mra.py b/src/mra.py index 93597dfbcd8da513fb0cecd4f1df5670c0140486..c8933df7acbe312a602083d53f1f8f7b4ade7d66 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 1867c649e0b918a02294a028aaef9a4fcc414b5a..9c75e73b113d563e3b29f20ebdb0f64d61b33d2b 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.