[Cartoweb-users] make cartoweb project faster...

Oliver Christen oliver.christen at camptocamp.com
Fri Oct 3 08:10:20 EDT 2008

do you really need to display all the points at once ?

I mean, when you are displaying the map at the highest extend, you will have 
countless small dots on map that mapserver has to render one by one but 
visually it doesnt offer much informations to the user other than the fact 
there are a lots of points in a certain area. The user will most certainly 
zoom in to see more in details the area of interest.

so what you could do is generate a simplified layer which would be visible 
at higher extend and when the user zoom in you display the more detailed 
layer, that way the duration of rendering by mapserver will drop 

practically for the layers which take a lot of time to render, you create 
another layer which display a simplified set of point and you set the 
minscale/maxscale of the normal layer and the simplified layer to follow 
each other.
and in your layers.ini, instead of simply having the slow layer, you add a 
layerGroup with the option aggregate = true and the 2 layer (detailed and 
simplified) as children

layers.yourlayer_group.aggregate = true
layers.yourlayer_group.children = yourlayer, yourlayer_simplified

also you need to work on your data with some aggregation treatments to 
generate a set of simplified points that will be displayed with the 
"yourlayer_simplified" layer

you may also eventually limit the tooltips usage below a certain scale only, 
as I doubt it is useful to return a tooltips containing several hundred 
entries to the user

but obviously, trying to display a lot of data will have serious 
consequencies on the rendering time.
these are only a few ideas, Im pretty sure you can find other idea/advice on 
the mapserver user mailinglist


> Hi !
> I want to display on cartoweb project more than 50.000 points for each 
> user account. Other layers are:
>    * OSM layers for whole Italy (POI, too)
>    * Italian regions countries and towns
>    * BlueMarble ecw raster (only for full extent)
> Well...
>   1. I created indexes (spatial and no spatial) on PostgreSQL\PostGIS
>      tables (where the points are)
>   2. I enabled Ajax on my project
>   3. I installed my cartoweb project on a quadr-core machine with 4GB
>      RAM (on the machine only PostgreSQL an cartoweb run)
>   4. I set memory_limit=1GB in my php.ini
>   5. I set (following Oliver instructions) PROCESSING
>      "CLOSE_CONNECTION=DEFER" for those points in the mapfile
>   6. I enabled the cache system (mode=production)
> ...the problem is the application is too much slow. Coreplugins 
> functionalities (zoom, pan, ecc..) are very slow....
> What should I check to improve this ?
> Thanks
> _______________________________________________
> Cartoweb-users mailing list
> Cartoweb-users at lists.maptools.org
> http://lists.maptools.org/mailman/listinfo/cartoweb-users

More information about the Cartoweb-users mailing list