GeoExt ux: Redlining



Existing implementations

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


  • 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


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)
  • 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)
  • 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...
  • 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

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.
Last modified 7 years ago Last modified on 08/27/10 16:02:23