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 significantly.

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

regards
Oliver



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
[email protected]
http://lists.maptools.org/mailman/listinfo/cartoweb-users


_______________________________________________
Cartoweb-users mailing list
[email protected]
http://lists.maptools.org/mailman/listinfo/cartoweb-users

Reply via email to