[Qgis-developer] WFS upgrade: how much?

Bill Clay bill.clay at libero.it
Mon Dec 26 04:26:43 EST 2011


Hello, all.

I've been working on WFS bug 4604 and feature request 4280 as my first 
attempt to contribute as a QGIS developer.  I have working code for 
three different approaches. Which one should be completed and used?

1. Minimal patch.  Gives you a choice between caching the ENTIRE WFS 
layer for the life of the layer (slow layer creation for big layers on 
remote WFS providers) or freshly fetching WFS extents each time they are 
rendered (slow on each WFS layer rendering).

2. Medium patch.  If you choose not to cache the entire layer, an 
expanding extent is cached, starting with the first rendered extent.  
Each time a new area is rendered, the cached extent expands, combining 
the new canvas extent with the previous WFS layer extent.  On each 
expansion, the cache is discarded and the expanded extent fetched 
fresh.  After a short "training period," local pans and zooms are fast 
because they work from the cache without requiring a new WFS fetch.

3. Maximum patch.  The "expanding cache" approach of nr. 2 above, but 
instead of replacing the cached extent each time the extent expands, we 
fetch only the NEW areas of the expanded extent (i.e., 1-4 rectangles 
around the perimeter of the cached layer extent) and ADD their features 
to the cache (discarding duplicate features).  Faster rendering of new 
areas than nr. 2 when there are many features, but slower for small 
layers because a separate HTTP GET is required for each of 1-4 new areas.

Is there a "typical" WFS user?  Do they use WFS layers with many 
features?  If so, patch 3 might be best; otherwise maybe patch 2.

Best wishes for the holidays!
Bill Clay


More information about the Qgis-developer mailing list