[Not for 2.6]. I've finally gotten around to doing tiled WFS "the right way" as some would put it. After some discussion on IRC it was decided the best way would be to have a new "singleTile: false" option to support the tiled mode. A couple of points which relate to compatability:
- WFS will now inherit from Vector, Markers and Grid so instead of having WFS doing its own tile loading stuff, it reuses the singletile mode from Grid. This removes a bit of duplicate code. - The url argument of Tile.WFS is basically unused After this the tiles (even in singleTile mode) will use the getURL function of the layer with the bounds to determine the URL, just like TMS does. The URL is slated for removal in 3.0 so I doubt anyone will be bothered by this. - Feature lifecycle management Currently the Tile.WFS fetches features and passes them to the layer and forgets about them. For tiled mode you can't really do this, since you need to know which features go away when a tile moves out of range. So in tiled mode the tile manage their own features, adding and removing from the layer as appropriate. What I would like to do is that even in singleTile mode the tile manages the features: this opens up the path of, when dragging/zooming in singleTile mode, a new tile is created and populated before deleting the old one, to avoid flickering (I beleive something similar is planned for TMS?). This is a API change and I'd like to know what people think on this point. - Managing of duplication between WFS tiles One of the harder parts of tiled WFS is that a single feature can exist in multiple tiles. The way this is managed is by reference counting the features based on the fid of the feature. Anonymous features (fid==null) are assumed unique. I beleive this fits with most people's expectations. It does assume that server will always pass complete features and won't require the client to merge multiple results. - Adding internal/external projection support The script I was using on the server isn't really a WFS server so I needed to adjust the URL generation to reproject the bounding boxes based on the external projection. This is perhaps an orthoginal feature and should be submitted seperately. - The refresh function WFS has a refresh function that no-one else has. I'm unclear as to what it's supposed to do. It appears to remove all the features and the call the tile to readd them or something. It doesn't appear to want to refresh from the server though, so what's the point. Can someone enlighten me? - Tile size For TMS the tilesize is fixed by the size of the images. For WFS the tilesize is essentially arbitrary. On the one hand you could say the tilesize size should be a fixed portion of the map, so zooming doesn't need to go to the server at all. OTOH, a server may want to return different details depending on the zoom-level. For the moment I've punted on this and pretended it's just like TMS but it's something to consider. Looking forward to your responses, -- Martijn van Oosterhout <[EMAIL PROTECTED]> http://svana.org/kleptog/ _______________________________________________ Dev mailing list [email protected] http://openlayers.org/mailman/listinfo/dev
