Overview
As a lighter weight alternative to full data editing, we could also let users add a small number of geometries to their ‘map’. This would not save the data to the database, or make it available in different formats, instead it would just be an geo annotation layer on top of a ‘map’.
Use Cases
- Browsing through maps on a GeoNode a user sees one that is interesting. She can spot a correlation between two of the layers, and wants to highlight it for others. Right now she’d have to download both layers, load up a GIS, make a new shapefile, upload that, and add the new layer to the map. Even if editing is in place she’d have to start a whole new layer, even if she just wanted to draw one or two polygons that are only about the relationship. Instead she should be able to use lightweight editing tools to draw a few geometries
Specification
A very basic implementation would not allow any styling, would just be a tool to add, delete and edit points, lines and polygons. These would be associated with a ‘map’, and would be copied over when a map is duplicated, and editable by the next person. Each geometry would only allow two fields – a title and a description. When viewing a map a user should be able to click on a geometry and see the title and description.
There are several ways to make this more advanced, and it starts to get in to ‘redlining’. The MapGears crew made a Redlining GeoExt UX, with a couple examples. They meet the whole basic use case, and add in some kml export. The next step, that they also talk about, is getting nicer styling in there. That’s definitely key for all but the most basic uses, so people can control what their maps look like. Ideally with a nice image manager:

The other piece that would be quite nice, and should be easier than full on styling, is a nice wysiwyg html editor (like xinha or TinyMCE)
Technical Details
(will link to feature specification and technical specification when they are complete)
Should save the geometries in the ‘map’ object, likely just as JSON. Styling hopefully could also be done with json serialization of OpenLayers style objects as well. Will need to figure out a limit for number of features one can add, if someone is doing heavy styles with big polygons then it could slow things down. Need to make sure no one could make a map that would overwhelm browsers. Since it is just ‘annotation’ I think we can keep the number low, 50? 10? People will obviously be psyched on more, but in time we should have the ability to create and edit data layers, so then we’ll just have people do that at the limit.
Nice demo of TinyMCE in Ext.js, could hopefully be used for ‘description’.
Hopefully many Styler components could be used for defining styling. The KML export is a nice feature we could consider, indeed it’d be cool to have on ‘maps’ now, to view a ‘map’ in Google Earth, pulling all the WMS layers in.