Version 17 (modified by 14 years ago) ( diff ) | ,
---|
Table of Contents
Share GPS Data
Problem Description
- Field staff for NGOs (both Humanitarian & Development) visit Programme sites with handheld GPS (e.g. Garmin eTrex).
- They collect data as they go (Tracks & Waypoints).
- They would like a way of easily sharing this information between each other:
- uploading data to a central repository
- managing this master repository to have a reference dataset: no duplicates, names checked for consistency
- this management should work offline
- download the reference dataset to each GPS
- A secondary benefit will be in terms of wider communications (e.g. reporting to Donors)
- A potential future enhancement would be to be able to download GPX routes from/to specific locations.
This requirement is defined by Oxfam in Haiti, but is applicable to many other organisations & locations as evidenced by this combined Problem Definition for RHoK:
It could also be the public version of the WFP GeoPortal (which will be separate from their Intranet):
High-Level Architecture Proposal
It would be ideal if as much of the reference dataset as possible could be incorporated into the Base Map - OpenStreetMap is ideal for this.
Propose to:
- Set up a Virtual Machine containing all necessary software (to make it easy to install on any available PC - this setup may need replicating in several offices, although no need to sync between offices except via main OpenStreetMap database at this time)
- Local OSM Server
- Build a GUI within Sahana to allow the uploading/editing of GPX data
Other Options Considered
- Garmin MapSource
- can't load more than 1 GPX file at a time
- Google Earth
- allows access to simple, known tools for manipulating the Waypoints to download an authoritative GPX
- treat the basemap as more static (do an initial 1-time basemap inc contours & follow this up with a process for updating the contours.osm with Osmosis)
- doesn't work offline, although could use a KML super-overlay when offline:
- http://svn.openstreetmap.org/applications/utils/wms2kml/
- GeoServer can produce the SuperOverlay from cascaded WMS:
- mod_mapnik_wms to create the WMS
- Depiction
- Data primarily only shareable with other Depiction users which means hard to gain traction even within an organisation let alone for interagency work.
- Installation requires admin rights on the PC, which many field staff won't easily have access to - again lowering the ability to get wider adoption.
- Can't create new Depictions or use BaseMaps at all without an active Internet connection.
- Revealers seem very gimmicky: I don't find them useful & they're really hard to use in practise (I just wanted a 'full-screen option').
- GeoExplorer already has the ability to dynamically edit layer opacity, which is the 1 thing I'd use them for.
- Licensing costs push this beyond local partners to whom we want to handover the tools when moving from Response -> Recovery -> Mitigation/Preparedness (USD 200/machine + add-ons, such as $50 just for icons that come free with Sahana!)
- No support for KML (or GeoRSS)
- No ability to edit the OpenStreetMap base layer which adds so much value to these maps
- Adding Elevation data is clumsy (fairly easy to make this 'seamless' ;) )
Detailed Architecture Proposal
Sahana
The current GPX layer interface is probably insufficient.
Instead have 2 tables:
- WayPoints (where each point is individually editable for a label & marker - often the raw data will just have numeric labels, so we'll need to add a prefix to distinguish for when re-labelling from written notes)
- Tracks (where all points are equal - we don't need to keep track of time or person: if we wish to see a specific track we can use the current GPX file interface for that...so maybe we keep the file uploads but add to the main table via an onaccept?)
Can we develop a Flash(?) interface to actually manage the transfer to/from the unit of the GPX &/or basemap?
Extend our GeoExplorer integration as the basis for this (adding other missing MapViewingClient functionality as we go).
Ideas from Depiction
Depiction has some useful functionality with some nice UI ideas...there are videos which can be downloaded to review.
- Simple UI
- add new Features to the map via the mouse inc Single/Multiple options
- QuickAdd toolbar for common resources
- Manage Elements tool to locate features within viewport (category, tags or name) & edit their properties (global type or individual)
- Colour picker
- Label
- Icon (Image/Size)
- Modelling
- elevation data within the database
- can we use the same datamodel as for Mapnik's contours?
- add an easy downloader like srtm2osm
- models could come from GRASS or R, maybe via WPS?
- Plumes: Wind speed, direction, volume
- Flood
- Liquid flow
- Antennas (do we need this within Sahana?)
- elevation data within the database
- Routing
- road structure within the database
- imports from OpenStreetMap
- imports from Shapefiles
- pgRouting for back-end calculations?
- build on Measure tool (if no better ones available) for front-end UI?
- road structure within the database
- GeoReferencing
- integrate one of the existing tools: BluePrintGISRectifier
- Shapefiles support
- integrate OGR2OGR (usable even with basic sqlite versions) - e.g. Ogre
- GeoServer via REST? (-> PostGIS where available)
- Permatext (useful for printing, especially)
- Draggable property (default based on resource type?)
- Interactions
- Zones of Influence
- Barriers are polygons
- Default to octagon
- Can create custom polygons by dragging/adding/removing polygons (UI for this already in OpenLayers)
- Calculated (e.g. Plumes/security cameras)
- Barriers are polygons
- Zones of Influence
Local OSM Server
Edit Base Map
- Potlatch2
- Editing local database or only main one?
- Need better integration into Sahana:
- passing in the area of the current viewport
- seeing Sahana overlays inside Potlatch (can export as either GPX or OSM)
Sync Base Map
Our local install needs to be kept up to date from the global repo:
If we're making local edits then we need to feed those back to the master repo.
- This may be hard. Team up with OSM-in-a-Box to look at this?
- Discussion in OSM Wiki