[postgis-users] Vector overviews in postgis
pcreso at pcreso.com
pcreso at pcreso.com
Fri Aug 3 00:40:54 PDT 2012
On Thu, Aug 02, 2012 at 05:41:23PM -0400, Jean-Daniel Sylvain wrote:
> Is it possible to create overviews in postgis to optimise the speed of
> display for very big vectorial dataset (10 000 000) ?
> The aim is to be able to look quickly the dataset via a GIS tool like> Quantum GIS or GV SIG or any suggestions.
What I think you want to achieve is a manageable set of points to display which represents your data at any scale. So as you zoom out you get a view with what looks like more points points, but displayed so points at the same effective location (overlay each other) are avoided. As you zoom in you see more detail, but due to the reduced extent, you do not see any more points. Performance is constant at about any scale, as about the same number of points are displayed at any map extent.
My solution to this is to aggregate points to the same (less precise) location to give different zoom levels.
So in your table you add another points column, but with one decimal precision removed from each coordinate, repeat as necessary.
The first aggregation (assuming all 10,000,000 are different locations, will give you 1,000,000, the next 100,000, the next 10,000 distinct positions. How you then work with these is up to you, but for performance purposes you select out to new tables based on a "group by point", then index these appropriately. Obviously the downside is that each point represents (on average) at least 10 others, so clicking on a single point when zoomed out can only give summary values, actual point attributes can only be determined when you are zoomed in far enough that you see the original individual point features. You can show the number of original points each zoomed out one represents by including the count(*) in the query that builds the new tables.
The tidiest way I have found to actually implement this is via a WMS/WFS service, with zoom layers set up to serve the appropriate precision dataset for each scale. This hides all the zoom layering from the user/client completely, & only a single layer is apparent.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the postgis-users