I have a GIS web application and vector data that is going from the model to the web application. For developing the User Interface I am using JavaScript and OpenLayers. But sometimes the amount of geospatial data that I need to simultaneously visualize on a map is very big (10 000+ objects) and the browser cannot respond to all user requests. So, how can I speed up the process of visualization (both model and UI part) of large amounts of geodata?

  • Can you generalize (pre-process) your data for the web? – Mapperz Nov 5 '12 at 21:55

check out AnimatedCluster strategy for OpenLayers here for big data and good ui. you can find code example here.


beside this examine openlayers clustering example.

  • Cluster Strategy Example, here

  • Extended clustering, here

    i hope it helps you...

  • Is it possible to somehow cache objects in order to speed up visualization process? – Dmitri Nov 6 '12 at 8:44
  • 2
    AFAIK, you can cache your image tile OpenLayers.Control.CacheRead and CacheWrite method. – Aragon Nov 6 '12 at 8:51

The techniques to solve your issue and improve vector web mapping are:

  • Generalisation: The objects to display should be simplified/aggregated in order to adapt their level of detail to the visualisation scale/zoom. In theory, there should be on data layer for each zoom level. The best is to use a multi-scale database. See this question for an overview of existing generalisation techniques.

  • Spatial index service and vector tilling: Only data in the view should be transferred and displayed. To make it possible, a spatial index service (if the objects are small and compact) or pre-computed vector tiles (if the objects are big) could be used.

The best is to use all three techniques as explained in this excellent document !

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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