[OpenLayers-Dev] Tiled WFS layer

Andrew Hughes ahhughes at gmail.com
Tue Sep 25 22:20:34 EDT 2007


Hi Guys,

I know this is getting a little "Ahead"... this is more "server-side" work..
but if the client operates with this in mind it could be a good idea.

WFS tiling + Query Caching would be an excellent idea! Similar to WMS-C
(tilecache).. it would be possible to cache each WFS/Tile query. So what...
in addition,  server-side middle ware could optimize/downsample/simplify
complex geometries so that it is composed of only useful data at the Tile's
resolution.  Good but not great... so.... because we are now dealing with a
tile grid, the server-side could "seed" and cache the same query's complex
geometry at different resolutions, optimizing the data at each resolution.
This would address problems related to vector data sizes inside the
browser., increase server response times and user experience. Not an issue
if your data is not complex... but then again.. you probably wouldn't be
tiling anyway.

Example Implementation (server side):
* Receive WFS query....
* Optimize/Downsample the raw vector data to only useful data at the
requested Tile resolution.
* Return WFS response with optimized data for current resolution (z).. but
continue server side.... (client gets response)
* Analyze the raw vector data... iterate/seed the Tiles above and below the
current  resolution (z), down sampling/optimizing the the and cache these
tiles.

Two big pluses, browser only receives quick, thin responses.

--AH

p.s. also, this server overhead is not as big as you might think... it can
be done quite sensibly.... with each step in the seed/optimize process
builds on the previous seed/optimize operation.
p.s. martin keep this in mind for a bigger picture... you might want to
store something other than a "BufferedImage" one day :), particular if you
are providing a data for "brainless", "gutless", "low bandwidth" mobile
phones.



On 9/26/07, Cameron Shorter <cameron.shorter at gmail.com> wrote:
>
> Martijn,
> I don't have any fixes, but am interested to hear that you are using WFS
> code with Openstreetmap. Does this mean that OSM now has a WFS interface?
> Is it a query only interface, or is there transactional support as well?
>
> Martijn van Oosterhout wrote:
> > For a POI layer for OSM I've been working on a tiled version of the
> > WFS layer (apparently I'm not the only one). I have it working now.
> > It's really only minor changes from the standard TMS layer.
> >
> > There are some minor changes to the Tile.WFS class, which you can see
> here:
> > http://dev.openstreetmap.org/~kleptog/pois/Tile_WFS.js
> > Really only the changes in the "destroyAllFeatures" and the "draw"
> > functions are necessary, otherwise the markers keep getting created
> > and never destroyed.
> >
> > The actual WFSGrid is here:
> > http://dev.openstreetmap.org/~kleptog/pois/WFSGrid.js
> > It's really a minor variation on the TMS, the diff is here:
> > http://dev.openstreetmap.org/~kleptog/pois/wfsgrid.txt
> > The most necessary bits were the add/removeMarker, needed by Tile.WFS
> > to interact with the marker layer.
> >
> > There are a few remaing issues:
> > - Due to the way Layer.Grid works you need aggressive caching on the
> > server side or it'll keep requesting the same thing over and over
> > again.
> > - The Markers disappear while dragging
> > - It feels slow somehow...
> > - The marker layer currently needs to be created by the user, but I've
> > just been told it's ok to inherit from Markers and Grid
> > simultaneously.
> >
> > Anyway, this is just to let you guy know where I'm up to, in case
> > anybody has ideas. Complete working demo is here:
> > http://dev.openstreetmap.org/~kleptog/pois/pois2.html
> >
> > Thanks in advance,
> >
>
>
> --
> Cameron Shorter
> Systems Architect, http://lisasoft.com.au
> Tel: +61 (0)2 8570 5050
> Mob: +61 (0)419 142 254
>
> _______________________________________________
> Dev mailing list
> Dev at openlayers.org
> http://openlayers.org/mailman/listinfo/dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/openlayers-dev/attachments/20070926/c3a44fdc/attachment.html


More information about the Dev mailing list