GeoExt ux: Redlining
- GeoExt ux name: Redlining
- GeoExt ux description: Redlining tool.
- Maintainer name: Alexandre Dubé, Julien-Samuel Lacroix, Frédéric Junod, Cédric Moullet
- Maintainer email: adube[at]mapgears.com, jlacroix[at]mapgears.com frederic.junod[at]camptocamp.com, cedric.moullet[at]gmail.com
- Browser compatibility: FF 3+, IE 7+, Chrome, Safari 4+ (tested, but previous versions may work)
- Compatibility with GeoExt version: GeoExt 0.7+
- Example: http://dev.geoext.org/sandbox/redlining/ux/FeatureEditing/examples/
- Installation procedure: Copy the file of the ux directory in your directory structure ... and use it !
- Unit tests: http://dev.geoext.org/sandbox/redlining/ux/FeatureEditing/tests/run-tests.html
- Dependency:
- dependency with layer manager ux: http://trac.geoext.org/wiki/ux/LayerManager
Specifications
UI
- Example 1: http://downloads2.esri.com/CodeGallery/Screenshots/AS15751.png
- Example 2: http://geomoose.houstoneng.com/gm2demo/geomoose.html
- OpenGeo vector editing wireframes
Existing implementations
- http://trac.osgeo.org/fusion/browser/trunk/widgets/Redline.js
- http://geomoose.svn.sourceforge.net/viewvc/geomoose/moose2-trunk/htdocs/geomoose/main.js?revision=361&view=markup
Use Cases
Please list use cases for a redlining component in GeoExt
Quick draw and print
Nutshell Description : A user wants to add arbitrary geometries (mixture of points, lines, polygons) and labels on top of a map and print it out to go in the field with.
Issues :
- the user must be able to style her geo- objects the way she wants
- the user must be able to add arbitrary text boxes for labels; labels may or may not be attributes of geo objects
- the user must be able to share her redlining/annotations to colleagues or otherwise persist them on her local machine for future reference/edits
Features
- Use of one "cosmetic" layer only
- Import GPX
- Draw any kind of geometry (point, line, polygon)
- Edit the coordinates by drag and/or by manual entry (i.e. specifying explicit coordinates for a point or a vertex)
- Have a default style for drawn features
- Be able to change the style of drawn features in a popup
- Be able to change the attributes (if any) of drawn features in a popup
- Be able to change style/attributes of many features at once in a popup
- Export in KML
- Enable all modify features options, such as rotation, resizing, etc.
- Enable snapping with all its options
- Be able to move a feature to a specific coordinate
- Use OpenLayers i18n, to allow translation
Issues
- Label: a point with text. Is it possible to select the text itself ? yes: see http://openlayers.org/dev/examples/symbolizers-fill-stroke-graphic.html
ToDo List
Phase 1 - Simple tool, proof of concept
- Define the architecture first
- Use of ONE cosmetic layer only
- Redlining panel
- DrawFeature buttons
- Point
- Line
- Polygon
- Label (free)
- ModifyFeature button with single selection (for now)
- Export as KML button
- Import KML button
- Default style selection without any styler (just some basic choices)
- DrawFeature buttons
- Popup (single selection only)
- Style selection without any styler (just some basic choices)
- AutoSave turned on
- Delete button
- Export as KML button
- 'client-side' feature management only (manual import-export)
- Feature style
- Default style changed to 1/2 opacity as soon as features are selected
- Selected features keep their original state
- All styles restored to original when everything is unselected
- FeatureStore
- Add a FeatureStore to the layer object
Phase 2 - multilingual, attributes, linked labels and manual save
- Multilingual Support
- Popup (single selection only)
- Attributes edition. Only two are enough in the context of redlining :
- Title
- Descriptions
- OK, Cancel and Apply button added (optionally when autoSave turned off)
- Attributes edition. Only two are enough in the context of redlining :
- Linked labels
- To existing features
- On other feature creation (checkbox)
- 'server-side' feature management support, optional
- FeatureGrid
- Add a FeatureGrid with selection model linked to the FeatureStore
Phase 3 - more 'existing' options and multi-select
- Redlining panel
- ModifyFeature button with multiple selection
- Add more options and refine tools :
- ModifyFeature control options
- rotation
- resize
- etc.
- Snapping
- Snapping options...
- ModifyFeature control options
- Popup (single AND multiple selection support)
- FeatureList when more than one is selected
- Buttons labels with "all" added to show that changes will be made to all selected features
Phase 4 - final and more 'specific' needs
- Redlining panel
- Import GPX
- Use of a Styler to change the default style
- Popup (single AND multiple selection support)
- Manual coordinate edition
- Use of a Styler to change the selected feature styles
- Move selected feature(s) to a specific location
Task Management
- Import/Export
- Cédric Moullet
- Frédéric Junod
- KML modification in OL
- Frédéric Junod: http://trac.openlayers.org/ticket/2409
- Styler - ask OpenGeo
- Julien-Samuel Lacroix
- Editing
- Alexandre Dubé
Open Points
- EasyStyler: add a combobo with predefined OL Styles (PointStyleStore, LineStyleStore, PoylgonStyleStore, LabelStyleStore) (was added in r2287, see live example. Styling of labels not yet supported.)
- Support marker in Style
- Force externalProjection to WGS84 in LayerManager
- The new TransformFeature control of OpenLayers could be a nice addition to the FeatureEditing widget.