Version 24 (modified by Fran Boon, 15 years ago) ( diff )


Feature Layers

Internal Features can be displayed on the Map.

These features can be Points, Lines or Polygons (hence we need to use the OL Vector Features, not plain Features).

Features can be added to the Map, removed from the map or moved on the map interactively.

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.

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.

We need to use the Cluster Strategy to have nearby features aggregate at low zoom levels (& prevent performance issues)

Feature Classes

Feature Classes can (optionally) define the Marker used to render a Feature.

These also provide the information for the popup when a Marker is selected.

  • this can contain fields from the original tables &/or an Edit button to enable editing those details.

Feature Groups

A Feature Group can be a Feature Class (e.g. 'Shelters' or 'Organisations') or can be a custom query.

(These same Feature Groups can also be used to publish data as GeoRSS or KML or download as GPX or KML)

Feature Groups to Features requires a Many-to-Many table:


The Marker used for the Features will be:

  • The Feature marker (if defined) <- to be added later, if desired.
  • The Feature Class marker (if defined)
  • The Default marker

We should provide an option to allow the Feature-Class icon to over-ride individual Feature Icons.

Markers BluePrint

Q: Provide option to add Labels to Features?


For portability, the default storage for Features is the normal database via Web2Py's DAL.

In order to support Lines & Polygons we need to store as WKT

An option should be provided to store in PostGIS instead, where available, as then can have spatial indexes for speed.
Q: Could we extend DAL for spatial indexes?

Q: integrate FeatureServer?


Currently all the AJAX is done manually via XMLHttpRequest() etc

This should be rewritten to use jQuery to ensure we maintain cross-browser support into the future.

Files which need updating:

  • /views/gis/ol_popup_ajax.js
  • /views/gis/ol_controls_features_unused.js




GIS BluePrints

Note: See TracWiki for help on using the wiki.