Hi Guys,<br><br>I know this is getting a little &quot;Ahead&quot;... this is more &quot;server-side&quot; work.. but if the client operates with this in mind it could be a good idea.<br><br>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,&nbsp; server-side middle ware could optimize/downsample/simplify complex geometries so that it is composed of only useful data at the Tile&#39;s resolution.&nbsp; Good but not great... so.... because we are now dealing with a tile grid, the server-side could &quot;seed&quot; and cache the same query&#39;s complex geometry at different resolutions, optimizing the data at each resolution.&nbsp; 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&#39;t be tiling anyway.<br><br>Example Implementation (server side):<br>* Receive WFS query....
<br>* Optimize/Downsample the raw vector data to only useful data at the requested Tile resolution.<br>* Return WFS response with optimized data for current resolution (z).. but continue server side.... (client gets response)
<br>* Analyze the raw vector data... iterate/seed the Tiles above and below the current&nbsp; resolution (z), down sampling/optimizing the the and cache these tiles.<br><br>Two big pluses, browser only receives quick, thin responses.
<br><br>--AH<br><br>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. <br>p.s
. martin keep this in mind for a bigger picture... you might want to store something other than a &quot;BufferedImage&quot; one day :), particular if you are providing a data for &quot;brainless&quot;, &quot;gutless&quot;, &quot;low bandwidth&quot; mobile phones.
<br><br><br><br><div><span class="gmail_quote">On 9/26/07, <b class="gmail_sendername">Cameron Shorter</b> &lt;<a href="mailto:cameron.shorter@gmail.com">cameron.shorter@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Martijn,<br>I don&#39;t have any fixes, but am interested to hear that you are using WFS<br>code with Openstreetmap. Does this mean that OSM now has a WFS interface?<br>Is it a query only interface, or is there transactional support as well?
<br><br>Martijn van Oosterhout wrote:<br>&gt; For a POI layer for OSM I&#39;ve been working on a tiled version of the<br>&gt; WFS layer (apparently I&#39;m not the only one). I have it working now.<br>&gt; It&#39;s really only minor changes from the standard TMS layer.
<br>&gt;<br>&gt; There are some minor changes to the Tile.WFS class, which you can see here:<br>&gt; <a href="http://dev.openstreetmap.org/~kleptog/pois/Tile_WFS.js">http://dev.openstreetmap.org/~kleptog/pois/Tile_WFS.js</a>
<br>&gt; Really only the changes in the &quot;destroyAllFeatures&quot; and the &quot;draw&quot;<br>&gt; functions are necessary, otherwise the markers keep getting created<br>&gt; and never destroyed.<br>&gt;<br>&gt; The actual WFSGrid is here:
<br>&gt; <a href="http://dev.openstreetmap.org/~kleptog/pois/WFSGrid.js">http://dev.openstreetmap.org/~kleptog/pois/WFSGrid.js</a><br>&gt; It&#39;s really a minor variation on the TMS, the diff is here:<br>&gt; <a href="http://dev.openstreetmap.org/~kleptog/pois/wfsgrid.txt">
http://dev.openstreetmap.org/~kleptog/pois/wfsgrid.txt</a><br>&gt; The most necessary bits were the add/removeMarker, needed by Tile.WFS<br>&gt; to interact with the marker layer.<br>&gt;<br>&gt; There are a few remaing issues:
<br>&gt; - Due to the way Layer.Grid works you need aggressive caching on the<br>&gt; server side or it&#39;ll keep requesting the same thing over and over<br>&gt; again.<br>&gt; - The Markers disappear while dragging<br>
&gt; - It feels slow somehow...<br>&gt; - The marker layer currently needs to be created by the user, but I&#39;ve<br>&gt; just been told it&#39;s ok to inherit from Markers and Grid<br>&gt; simultaneously.<br>&gt;<br>&gt; Anyway, this is just to let you guy know where I&#39;m up to, in case
<br>&gt; anybody has ideas. Complete working demo is here:<br>&gt; <a href="http://dev.openstreetmap.org/~kleptog/pois/pois2.html">http://dev.openstreetmap.org/~kleptog/pois/pois2.html</a><br>&gt;<br>&gt; Thanks in advance,
<br>&gt;<br><br><br>--<br>Cameron Shorter<br>Systems Architect, <a href="http://lisasoft.com.au">http://lisasoft.com.au</a><br>Tel: +61 (0)2 8570 5050<br>Mob: +61 (0)419 142 254<br><br>_______________________________________________
<br>Dev mailing list<br><a href="mailto:Dev@openlayers.org">Dev@openlayers.org</a><br><a href="http://openlayers.org/mailman/listinfo/dev">http://openlayers.org/mailman/listinfo/dev</a><br></blockquote></div><br>