Tomáš KlimentKathi SchleidtSaša VranićMartin TuchyňaRastislav Holeček
Thursday, September 29, 2016 ‐ 16:00
A new way to collect INSPIRE data in the
field: mobileWFS App
Outline
‐ Motivation
‐ Use Case
‐ Architecture sketch
‐ Pilot implementation and status quo
‐ Summary and (“hopefully”) near future steps
‐ Still a long way to go ...
‐ Question at the end ..
STIMULUS / MOTIVATION
‐ Nowadays, there are plenty of mobile APPs available to collect observations
‐ Both on amateur (e.g. EpiCollect) and professional (e.g. Mobile Topographer) levels
‐ Supporting various geospatial data formats to read and export as KML or SHP
‐ Even support for geospatial data web map service (WMS) to view the remote data (e.g. OruxMaps)
2/16mobileWFS
‐ In addition, there are already available a small group of apps with geospatial features web service (WFS) support as follows:
‐ Sunshine Map4Data: connects only to project specific WFS exposed by the SUNSHINE platform for pilot
‐ hCAD 2016 free: data can be loaded from WFS and displayed on map
‐ Map4data GSC: The app is connected to the Web Feature Service (WFS) exposed by the GeoSmartCity platform
‐ Mappt: Loading WFS data only after Licence upgrade (60 USD / Month)
‐ Cogo data collection: very close to our goal, however not very functional
STIMULUS / MOTIVATION
3/16mobileWFS
At present, no mobile apps exist that allow for both online/offline viewing and editing of both simple
and complex WFS feature types
THEREFORE
The mobileWFS App addresses the missing gap in enabling widespread use of mobile applications together with WFS
USE CASE
The local government of a city provides data for the INSPIRE Theme Utility and Government Services, in accordance with the application schema Administrative and Social Governmental Services.
A GIS specialist creates the underlying database for the WFS server based on the INSPIRE UML model and feature catalogue for the GovernmentalService data specification (UGE).
Each feature collection is published on the web via OGC WFS‐Transactional using a Web GIS Server and organized in correspondence with the top level categories of the serviceTypeValue code list (e.g. education, defence, health, environmental protection etc.).
Field operators / VGI / participatory are then sent to the field to collect / verify the data.
5/16mobileWFS
USE CASE Continued
Before the field campaign (online mode), the relevant features (e.g. based on the bounding box of the planned campaign area) are accessed via WFS together with their corresponding featureTypes and the structure thereof.
Based on the structure of the featureTypes, the features accessed via WFS are stored in the local APP database (offline mode); view and edit forms are generated, allowing the user to interact with the data.
After the field campaign (back in online mode) the data is synchronised via WFS‐T based on identifiers (gmlId,localId,serid) and date values (beginLifeSpanVersion, endLifeSpanVersion)
6/16mobileWFS
Architecture V1
GeoServer ‐ app schema‐ WFS 2.0
mobileWFS app
uge_pix
ugs_govser
lu_elu_object
lu_elu_dataset
ef_obscaps
ef_emf
bs2_contact
au_adminunit
7/16mobileWFS
featureTypes
observations
WFS GetCapabilities (XML)WFS GetFeatures (GeoJSON)WFS Transaction (XML)
Reality Bites!
Problems encountered:
Problem 1: XML too data heavy for mobile device and GeoJSON is not supported for complex features by GeoServer
Workaround: On the fly conversion XML ‐> JSON
Problem 2: No WFS‐T on complex features using GeoServer
Workaround: Break features down to simple features based on component tables, do WFS‐T to these simple features
8/16mobileWFS
Architecture V2
GeoServer ‐ app schema‐ WFS 2.0
mobileWFS app
mobileWFS API‐ GetFeatures2JSON‐ Transaction2XML‐ User management
WFS GetCapabilities (XML)WFS GetFeatures (GeoJSON)WFS DescribeFeatureType (JSON)
uge_pix
ugs_govser
lu_elu_object
lu_elu_dataset
ef_obscaps
ef_emf
bs2_contact
au_adminunit
9/16mobileWFS
featureTypes
observations
WFS Transaction (XML)
Pilot implementation
‐ Android app developed in Titanium Appcelerator Studio
‐ Eclipse based integrated development environment
‐ “Write in JavaScript, run native everywhere”
‐ Based on developments done in Proplant app for MyGeoss II
10/16mobileWFS
Pilot implementation
Home Window - first start
- User info + change / add new user
- WFS Endpoint info
- User related observations summary
11/16mobileWFS
Pilot implementation
Home Window - main menu
- Local Data => loads locally stored observations into the map
- WFS Server => allows user to change the WFS endpoint
- Server Data => lists the feature types available from the WFS server and features of the selected type into the map
- Open Map => Map Window
12/16mobileWFS
Pilot implementation
Map Window
- Displays the POINT/MULTIPOINT features on the OSM map and zooms on the data extend
- Icon colours depend on the ownership of an observation
- Locate
- Observe
- Insert
- Capture
13/16mobileWFS
Editor Window
- Displays the attribute info
- Read only for
- Read / Write for own and unowned
- Image Window + camera use
- Autocomplete serviceType codelist
Pilot implementation
14/16mobileWFS
Home Window
- Field works summary
- Review list of created / updated / deleted observations
- PUSH ALL / DISCARD ALL
Pilot implementation
15/16mobileWFS
SUMMARY AND FUTURE‐ Open source mobile app WFS‐T, allowing users to:
‐ View existing data ((multi)points)
‐ Update existing records (attributes)
‐ Create new records (insert / observe / annotate)
‐ Future support of data models through generic self‐configuration:
‐ Analysis of WFS data model via DescribeFeatureType request
‐ Internal database support of generic data models, covering basic XML datatypes (string, numeric, date etc.)
‐ Support for complex feature elements
‐ App can be used by wide spatial data community facing the challenge how to collect and update spatial data based on standardized data models (e.g. INSPIRE, national registries)
16/16mobileWFS