I’ve been meaning to lay down my little vision of how web mapping configuration should work for awhile. It’s not a big idea, but a nice little way to perhaps bring more participation in to the creation of web maps, making it possible for anyone to make a mash-ups. I believe Google Mapplets gets at a lot of this, but I’d like to add on standards based services that can bring in real GIS layers and restyle the base maps.
Next, if the services are WFS/WCS or WMS that allows remote SLD I can change the styles of the layers I brought in. I might want to emphasize one layer more than others, or even just a particular feature of the layer. I am able to easily do thematic mapping as well, to specify what attribute to do a quantile or equal intervals on, with the colors I choose. This remote SLD can be saved to the Context document directly, so I don’t even need permissions on a server. If I have permissions on the WMS server I can then upload the new SLD as an option for others.
Past that I can get better performance on the map I configured by pointing the configuration at a GeoWebcache or TileCache instance that I have set up or have appropriate rights on. I can completely drive configuration of GeoWebcache through the web UI, to set which layers to turn on and off. I can even start it seeding the layers, or have it expire part, based on bounding box and number of zoom levels.
Then if I have a GeoServer set up, or at least layer creation rights on a server, I can start creating new data through WFS-T. This is beyond annotations: I can create a new layer that persists on the server, centralizing its editing. This is important because I can also set the edit permissions so other users can start editing the same layer. I can also choose to turn on versioning, to keep a history of what users make what edits. I can control the other user permissions, opening it up to everyone or just a select few. All data I create is available as WMS/WFS/WCS, KML, GeoRSS, GeoJSON ect.
I can also upload a shapefile or geotiff right through the web interface. Using the same styling utilities I can configure it to look as I like and make that the default style. I can choose to turn caching on there too. I can invite others to start editing the shapefile I created. I can also always export it as a shapefile, or any other format. All these more advanced layers are also saveable as a ‘view’, as an OWS Context document.
In terms of technology, we’re actually quite close to this vision. It really leverages a lot of the standards architecture, utilizing OWS Context, Remote SLD and WMS/WFS. We need to add the REST admin part of Geowebcache, but the ability to upload a shapefile or GeoTiff is now in a REST interface for GeoServer, thanks to the work of David Winslow. We just need a front end in openlayers to edit it. For OWS-5 we did inline KML in Context documents. Versioning is also in place, though we need a bit more work on granular security permissions, though the framework is there. And we have funding for an ajax SLD editor, which should be the final major piece of this. Then we just need to iterate through making the UI incredibly intuitive and easy to use. But I’m excited for this vision, to bring the power of ‘real’ GIS – large datasets and styling of basemaps – to the easy to use style of the GeoWeb.
That’s all for me for now. Two blog posts in the span of a less than a week, I guess this means I don’t have to post again for months ;)