We would like to build a simple web map application that displays raster data (e.g. a digital surface model) and symbolizes values (e.g. height) using a color ramp.

Is it possible to have the user manipulate the symbolization, maybe even allow to perform a classification?

For example like this: http://maps.nrel.gov/biomass - only that we would like to additionally change the classification on the client side.

I am aware of WCS and read about GDAL in this answer, but it did not help much.

Can anyone point me to some actual examples doing raster manipulation?


I have used the element to do dynamic reclassification in the browser: http://stvno.github.io/#iahn dynamic holland shading and interactive city growth are based on the same technique.

You encode your raster data in an RGB PNG, for instance rgb(0,0,0) is 0m, rgb(0,0,1) is 1m rgb(0,1,0) is 256m etc etc (use gdal-dem to do so; it is much faster than having a very long SLD/mapfile) and serve those as standard PNG tiles to the browser. Than leaflet or openlayers(3) can load these tiles into their canvas-layer and decode the PNGs into a DEM and do dynamic reclassification.

See also: http://www.geodan.nl/timesliding-canvas-maplayer/ and Vladimir Agafonkin blogpost on dynamic hillshading


Geoserver has RasterSymbolizer

The following elements can be used inside the element.


(and see the linked document for more details)

However, giving the user the capability to adjust the raster symbolization would likely involve a GUI to the definition of the SLD (raster symbolizer) file itself, but I'm not sure how that works...


See this amazing example of on-the-fly relief representation using OL3 and webGL from the Cartography and Geovisualization Group at Oregon State University. It seems close to what you have in mind: The color ramp can be changed together with other parameters.

Not the answer you're looking for? Browse other questions tagged or ask your own question.