[mapserver-users] Raster data performance
Stephen Woodbridge
woodbri at swoodbridge.com
Wed Jul 28 07:49:36 PDT 2010
Fawcett, David (MPCA) wrote:
> I don’t know anything about your work flow, but if possible, you could
> add a pre-processing step where you use a script to read your text file
> and pre-classify the data. You would end up with integers representing
> each class as ‘cell’ values.
>
>
>
> Instead of :
>
> EXPRESSION([pixel] >= -4 AND [pixel] < -3)
>
>
>
> You could have: EXPRESSION “2”
This is the fastest one.
> Or
>
> EXPRESSION /2/
Be careful with this because the // mean you are doing a regular
expression evaluation which is slower. and you need to be more precise
in the expression:
/2/ match a "2" anywhere in the string so would match any of the follow
where "?" is a wildcard:
"2"
"2?"
"?2"
"2??"
"?2?"
"??2"
If you want to match exactly "2" with a regex then you would need /^2$/
Complex expressions are compiled into structures that have to be
evaluated for each [pixel] so the more pixels you have the more
computation you have and the more complex the expression the more
computation that is involved.
-Steve W
>
>
> Matching a single string should be the fastest expression to evaluate.
>
>
>
> David.
>
>
>
> *From:* mapserver-users-bounces at lists.osgeo.org
> [mailto:mapserver-users-bounces at lists.osgeo.org] *On Behalf Of *Tobias Weiß
> *Sent:* Wednesday, July 28, 2010 8:25 AM
> *To:* mapserver-users at lists.osgeo.org
> *Subject:* Re: [mapserver-users] Raster data performance
>
>
>
> Hi Alex,
>
> I tried some of the performance tips you mentioned, e.g. converted the
> .txt to a tiled TIFF to optimize performance. I can not see significant
> changes in rendering speed.
>
> gdal_translate -co TILED=YES input.txt output.tif
>
> The major brake still is the expression stuff. I really wonder what
> makes this task so time-consuming, it should not be more than a simple
> comparison.
>
> Do you have experiences with this issue? Or do I have to live with this
> constraint?
>
> Best, Tobi
>
> ===
> Am 28.07.10 14:27, schrieb Alexandre Dube:
>
> Hi Tobi,
>
> The following documentation topics about raster might help :
>
> http://mapserver.org/input/raster.html#rasters-and-tile-indexing
> http://mapserver.org/input/raster.html#raster-display-performance-tips
>
> and about expressions :
>
> http://mapserver.org/mapfile/expressions.html
>
> The string comparison type is the fastest, so you could try define
> more classes but using string comparison to see if it gets faster.
> Also, a good performance tip is to put your most frequent classes types
> on top first. For example, if 80% of your data has "pixel = -3" then
> put it on top.
>
> Kind regards,
>
> Alexandre
>
>
> On 10-07-28 04:54 AM, Tobias Weiß wrote:
>
> Hello list,
>
> this is my first email to this list. I am working with MapServer,
> OpenLayers & TileCache for almost 1 year now and the tools are really
> working great together, when everything is configured correctly ;-)
>
> At the moment I´m facing a performance problem with raster data that
> serves as input data to render my map tiles. The spatial resolution of
> this raster data is 720 (rows) x 360 (cols) and it is stored in a simple
> .txt file (The size of the file is around 2 MB). I use TileCache to
> prerender maptiles for different zoom levels that are later displayed in
> a web application using OpenLayers.
>
> I discovered, that the rendering speed of MapServer seems to mainly
> depend on how many different classes I define within my mapfile, meaning
> how many expressions MapServer has to evaluate during the rendering
> process. Without any classes MapServer the rendering speed is really
> fast, the more classes I use the slower it gets. With e.g. 10 different
> classes defining 10 different styles / pixel colors the rendering time
> for one tile can increase up to 60 sec.
>
>
> CLASS
>
> EXPRESSION ([pixel] >= -4 AND [pixel] < -3)
>
> STYLE
>
> COLOR 69 117 180
>
> END
>
> END
>
>
>
>
> While working with shape files I haven´t had this problems and
> prerendering map tiles was really fast. With raster data the rendering
> time for one map and 5 different zoom levels can take up to several
> hours and almost overburdens my CPU.
>
> Can anybody give me a hint how I could improve this?
>
> Best, Tobi
>
>
>
> _______________________________________________
>
> mapserver-users mailing list
>
> mapserver-users at lists.osgeo.org <mailto:mapserver-users at lists.osgeo.org>
>
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>
>
>
>
>
>
> --
>
> Alexandre Dubé
>
> Mapgears
>
> www.mapgears.com <http://www.mapgears.com>
>
>
>
>
>
>
>
> _______________________________________________
>
> mapserver-users mailing list
>
> mapserver-users at lists.osgeo.org <mailto:mapserver-users at lists.osgeo.org>
>
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
More information about the MapServer-users
mailing list