Version 32 (modified by Fran Boon, 14 years ago) ( diff )


Feature Layers

  • A 'Feature' is a Resource Record which has a Lat/Lon available.
  • Features can be Points, Lines or Polygons
  • Features can be exported in KML/GPX/etc
    • Need to update S3XRC for GPS symbol detection when FeatureClass allocation changes
    • Need to update gis.get_marker() when FeatureClass allocation changes
  • Features can be added to the Map
    • A Feature Layer is a query of Features
      • Resource
      • Filtered
        • Resource.Category (Report/Incident table, Missing Persons, L0->L3 in gis_location table)
      • Collection of Resources <- is this required?
  • Features can be removed from the map or moved on the map interactively.
    • To do this via a single set of Controls means having a single Vector Layer (or having to manually select the active layer!).
      • Build up this Vector Layer from multiple Feature Layers
      • In order to be able to dynamically enable/disable individual Feature Groups whilst viewing the map, we need to write a custom layer switcher which refreshes the whole Features Layer client-side upon changes.
  • User can define which layers should be selectable/enabled-by-default in the Situation Mapping layer switcher.
    • This list is personalisable.
      • move from layer definitions to gis_config
        • Have 1->M for Feature_Layers for available.
        • Attribute of visible stored in a separate multiple field.
          • Combine with special widget?


The Marker used for the Features will be:

  1. Cluster marker if multiple markers close together
    • styled in size & # for >2
    • prevents performance issues as well as making things clearer
  2. The Feature marker (if defined) <- is this required? (Will speed things up if removed)
    • Q: Should we provide an option to allow the FeatureClass icon to over-ride individual Feature Icons?
  3. The FeatureClass marker (if defined)
    • Styling based on values of an attribute of the resource
      • add new gis.thematic_map table
        • fields
          • values
          • marker_id
      • add field, thematic_map_id (multiple=True) to the gis.feature_class table
      • Q: This is for display in specialist report views only? (not main Situation Mapping)
      • once we have core functionality, want UI to be able to choose the attribute, the values & the markers
  4. The Default marker

Markers BluePrint


Clicking a Feature should bring up a Popup

  • This can be a URL to load (flexible, but slow)
  • If not provided, the default is:
    • Loaded into the map during main load: no server-side calls
    • Header should be found from a set of common options (name/code)
    • All the list_fields with their labels
    • A link to open the record in a new tab

Clicking a Cluster should bring up a Popup

  • a list of the features within the cluster
    • each list item is hyperlinked to bring up the Feature's Popup (as well?)

Q: Provide option to add Labels to Features?


Option A (preferred)

Hardcode the link between FeatureClass & Resource (with optional category, e.g. for 'Report/Incident' table)

  • Add optional category_field/category_value columns to the feature_class table
  • If wanting feature-specific markers then add marker_id to resource tables (by bundling with location_id)
  • Replace feature_group table with feature_layer table
    • fields:
      • name
      • resource (used to populate the query field via an 'onvalidation')
      • filter_field (optional. used to populate the query field via an 'onvalidation')
      • filter_value (optional. used to populate the query field via an 'onvalidation')
      • query (hidden behind 'Advanced' button?)
      • comments

Option B

FeatureClass is an attribute of the link table

  • location_id extended to include feature_class_id (& marker_id) fields
  • => a Feature Group cannot be a collection of Feature Classes since we can't trawl through all resources to see if any of them have been tagged for this FC






GIS BluePrints

Note: See TracWiki for help on using the wiki.