Changes between Version 26 and Version 27 of BluePrintGISFeatureLayers


Ignore:
Timestamp:
07/11/10 22:12:58 (14 years ago)
Author:
Fran Boon
Comment:

Redesign

Legend:

Unmodified
Added
Removed
Modified
  • BluePrintGISFeatureLayers

    v26 v27  
    1 == Feature Layers ==
    2 Internal Features can be displayed on the Map.
     1= Feature Layers =
     2 * A 'Feature' is a Resource Record which has a Lat/Lon available.
     3 * ~~Features can be Points, Lines or Polygons~~
     4 * ~~Features can be exported in KML/GPX/etc~~
     5  * Need to update S3XRC for GPS symbol detection when !FeatureClass allocation changes
     6  * Need to update gis.get_marker() when !FeatureClass allocation changes
     7 * Features can be added to the Map
     8  * A Feature Layer is a query of Features
     9   * Resource
     10   * Filtered
     11    * Resource.Category (Report/Incident table, Missing Persons, L0->L3 in gis_location table)
     12   * Collection of Resources <- is this required?
     13    * New gis_landmark table can have Transport category for Port/Airport/Railway sub_categories
     14 * Features can be removed from the map or moved on the map interactively.
     15  * To do this via a single set of Controls means having a single Vector Layer (or having to manually select the active layer!).
     16   * Build up this Vector Layer from multiple Feature Layers
     17   * 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.
     18 * ~~User can define which layers should be selectable/enabled-by-default in the Situation Mapping layer switcher.~~
     19  * This list is personalisable.
     20   * move from layer definitions to gis_config
     21    * Have 1->M for Feature_Layers for available.
     22    * Attribute of visible stored in a separate multiple field.
     23     * Combine with special widget?
    324
    4 These features can be Points, Lines or Polygons (hence we need to use the OL Vector Features, not plain Features).
    5 
    6 Features can be added to the Map, removed from the map or moved on the map interactively.
    7 
    8 To do this via a single set of Controls means having a single Features Layer. This layer can be built up out of multiple Feature Groups.
    9 
    10 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 upon changes.
    11 
    12 We need to use the Cluster Strategy to have nearby features aggregate at low zoom levels (& prevent performance issues)
    13 
    14 === Feature Classes ===
    15 Feature Classes can (optionally) define the Marker used to render a Feature.
    16 
    17 These also provide the information for the popup when a Marker is selected.[[BR]]
    18 - this can contain fields from the original tables &/or an Edit button to enable editing those details.
    19 
    20 === Feature Groups ===
    21 A Feature Group can be a Feature Class (e.g. 'Shelters' or 'Organisations') or can be a custom query.
    22 
    23 (These same Feature Groups can also be used to publish data as GeoRSS or KML or download as GPX or KML)
    24 
    25 Feature Groups to Features requires a Many-to-Many table:
    26  * http://groups.google.com/group/web2py/browse_thread/thread/70273ee7ba826a59
    27  * http://groups.google.com/group/web2py/browse_thread/thread/582863bdd056bd7b
    28 
    29 === Markers ===
     25== Markers ==
    3026The Marker used for the Features will be:
    31  * The Feature marker (if defined) <- to be added later, if desired.
     27 * Cluster marker if multiple markers close together (styled in size & # for >2)
     28  * prevents performance issues as well as making things clearer
     29 * The Feature marker (if defined) <- is this required? (Will speed things up if removed)
     30  * Q: Should we provide an option to allow the Feature-Class icon to over-ride individual Feature Icons?
    3231 * The Feature Class marker (if defined)
     32  * Styling based on values of an attribute of the resource
     33   * this is for display in specialist views only?
     34   * once we have core functionality, want UI to be able to choose the attribute, the values & the markers
    3335 * The Default marker
    3436
    35 We should provide an option to allow the Feature-Class icon to over-ride individual Feature Icons.
     37[wiki:BluePrintGISMarkers Markers BluePrint]
    3638
    37 [wiki:BluePrintGISMarkers Markers BluePrint]
     39== Popups ==
     40Clicking a Feature should bring up a Popup
     41 * This can be a URL to load (flexible, but slow) however, if not provided, the default is:
     42  * Loaded into the map during main load: no server-side calls
     43  * Header should be found from a set of common options (name/code)
     44  * All the list_fields with their labels
     45  * A link to open the record in a new tab
     46Clicking a Cluster should bring up a Popup
     47 * a list of the features within the cluster
     48  * each list item is hyperlinked to bring up the Feature's Popup (as well?)
    3849
    3950Q: Provide option to add Labels to Features?
    4051 * http://gis.ibbeck.de/ginfo/apps/OLExamples/OL26/examples/labels.html
    4152
    42 === Storage ===
     53== Implementation ==
     54=== Option A (preferred) ===
     55Hardcode the link between !FeatureClass & Resource (with optional category, e.g. for 'Report/Incident' table)
     56 * Add optional category_field/category_value columns to the feature_class table
     57 * If wanting feature-specific markers then add marker_id to resource tables (by bundling with location_id)
     58 * Replace feature_group table with feature_layer table
     59  * fields:
     60   * name
     61   * resource (used to populate the query field via an 'onvalidation')
     62   * filter_field (optional. used to populate the query field via an 'onvalidation')
     63   * filter_value (optional. used to populate the query field via an 'onvalidation')
     64   * query (hidden behind 'Advanced' button?)
     65   * comments
     66=== Option B ===
     67!FeatureClass is an attribute of the link table
     68 * location_id extended to include feature_class_id (& marker_id) fields
     69 * => 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
     70
     71== Storage ==
    4372[wiki:BluePrintGISStorage]
    44 ----
    45 === !ToDo ===
    46  * Switch from OpenLayers.Layer.Vector() to KML
    47   * less to maintain/support
    48   * suppports Filtering
    49  * Add support for Filtering
    50  * Add support for Size/Colour variations
    51 ----
    52 === AJAX ===
    53 Currently all the AJAX is done manually via {{{XMLHttpRequest()}}} etc
    5473
    55 This should be rewritten to use jQuery to ensure we maintain cross-browser support into the future.
    56 
    57 Files which need updating:
    58  * {{{/views/gis/ol_popup_ajax.js}}}
    59  * {{{/views/gis/ol_controls_features_unused.js}}}
    60 ----
    61 === Docs ===
     74== Docs ==
    6275 * http://docs.openlayers.org/library/overlays
    6376 * http://dev.openlayers.org/docs/files/OpenLayers/Feature/Vector-js.html
    6477 * http://dev.openlayers.org/docs/files/OpenLayers/Layer/Vector-js.html
    6578
    66 ==== Examples ====
     79=== Examples ===
    6780 * Use HTTP to pull down Features List as XML: http://openlayers.org/dev/examples/behavior-fixed-http-gml.html
    6881 * Controls to Add/Drag Features: http://openlayers.org/dev/examples/drag-feature.html
    6982 * Select Feature (inc via Box): http://www.openlayers.org/dev/examples/select-feature.html
    7083 * Popup on Feature: http://www.openlayers.org/dev/examples/select-feature-openpopup.html
    71  * Style Features: http://www.openlayers.org/dev/examples/styles-context.html , http://www.openlayers.org/dev/examples/styles-unique.html , http://www.openlayers.org/dev/examples/sundials.html
     84 * Style Features:
     85  * http://www.openlayers.org/dev/examples/styles-context.html
     86  * http://www.openlayers.org/dev/examples/styles-unique.html
     87  * http://www.openlayers.org/dev/examples/sundials.html
    7288 * Download/Upload serialized feature data: http://www.openlayers.org/dev/examples/vector-formats.html
    7389 * Cluster Strategy: http://www.openlayers.org/dev/examples/strategy-cluster.html
    7490
    75 ==== Limitations ====
     91=== Limitations ===
    7692 * http://faq.openlayers.org/vector-related-questions/
    7793