I published this article on 27 November 2007, under another blog (which has suffered link rot) so I'm republishing here for archiving.
Standards and tools for reliable data synchronization in Spatial Data Infrastructure and field based data collection.
This article describes the issues and technical solutions associated with Federated Geo-synchronization.
Lisasoft aims to contribute to these solutions as part of the OGC’s Open Web Services Testbed 5.2.
To strengthen and refine our requirements, we are looking for Agencies which would benefit from solutions identified here. Please leave a comment, or contact me if you are interested.
Technical Problem Statement
As spatial databases become distributed and collaboratively maintained, traditional database transaction models ineffectively handle modern scenarios.
Figure 1 Synchronising databases in a Spatial Data Infrastructure
Users require current data from remote agencies. Data may be stored on a slow or unreliable server or behind an unreliable internet connection.
Updates may come from remote field workers, trusted external organizations, or general internet users. Identities must be confirmed, updates validated and applied, or rolled back to a previous version.
Figure 2 Caching WFS-T in field, local and remote networks
This project will:
Make a Spatial Data Infrastructure (SDI) fast and robust by caching remote WFSs locally.
Provide WFS Synchronization to allow real time data updates between agencies.
Ensure interoperability between agencies and applications by proposing required extensions to Open Standards.
Ensure wide adoption by providing all components free as Open Source Software.
Provide desktop and mobile, field based data collection tools.
A Transactional Web Feature Service (WFS-T) provides an OGC standards compliant web interface for downloading and updating vector features over the internet. To date the WFS-T standard doesn’t address version history.
Versioned WFS-T enables users to roll back to previous versions, track update history, check differences between updates. A versioned WFS is required to support a cached WFS.
Version WFS-T Development
Geoserver developers have developed a Versioned WFS-T by extending the WFS-T specification to include standard version attributes. As at May 2007, the Geotools version code is complete, but still in alpha state. It requires configuration web pages to ease operator use, packaging into a release and real world testing.
The extensions to the WFS-T specification need to go through the OGC standards process.
Security involves: authentication (to verify who a user is) and authorization (to specify what a user can view or update).
Geoserver has prototype authorization and authentication code. Access is provided to the level of WFS. Granular access to a layer or a specific feature is not supported. The code still requires refinement, a user interface and integration with the baseline.
Clients like Udig, Mapbuilder and OpenLayers require security logic. Some of this will be addressed during the Canadian Geographic Data Infrastructure Interoperability Pilot, due to complete October 2007.
A Cached WFS mirrors a remote WFS locally. A Cached WFS-T also caches WFS-T updates when disconnected from the remote WFS.
A Cached WFS-T is used when:
The remote WFS uptime is not guaranteed.
The remote WFS connection is unreliable or unable to handle traffic required.
Cached WFS-T depends upon the Version WFS-T protocol.
Cached WFS-T Development
An alpha version of Cached WFS (read only) is implemented by Geoserver. A friendly user interface is required to bring this to COTS quality.
Minimal development is required to implement Cached WFS-T (with writes) which has a basic conflict management interface.
Business rules for managing updates and conflicts from disconnected clients will be addressed in a second development phase.
Figure 3 JGrass desktop mapping application
Desktop Mapping offers powerful data manipulation and analysis. There are a number of clients available both proprietary and open source with varying levels of functionality and standards compliance.
Desktop Mapper Development
User friendly mapping interface.
Extensive map analysis tools from Grass.
Access to numerous mapping format and data sources from Geotools.
Extensible architecture from Eclipse
Development is required to include:
Embedded cached WFS-T from Geoserver (developed but requires integration and testing)
Embedded data store using H2 (in development)
- Access to images in a compressed format like ECW or JPG2000.
More work is required to add:
Business logic, views and reports to manage collaborative editing and information from a versioned WFS-T.
Field operators need to create or update geographic data while in the field.
A typical use case involves:
Download geographic data while in the office
Disconnect from the network
Modify, create and delete features and datasets. Interface with a GPS to collect feature information.
Synchronize changes with local or remote data-stores via Standards compliant WFS-T protocol.
Mobile Mapper - Tablet Development
A Tablet or Ruggedized PC provides the same operating environment as a desktop PC. So the Desktop Mapper will port directly to the Tablet.
Integration with a GPS is the only extra development required for the Mobile Tablet.
Mobile Mapper - PDA Development
Figure 5 Mapping on a PDA
PDAs are often used for field work because they are cheaper and smaller than laptops. Along with smaller size they are also less powerful and have less storage capacity.
Cut down versions of Windows (Windows CE) and Java (J2ME) run on most PDAs.
Investigation is required to determine effort required to port the Desktop Mapper to the PDA and whether alternative development would be more effective.
Figure 6 Mapbuilder, a browser map editor/viewer
Browser editors efficiently enable data collection from the public or remote workers.
Browser clients can also publish public map data.
Browser Editor Development
Openlayers and Mapbuilder are working together to produce Open Source, Open Standards Browser Based mapping client. WFS-T editing is supported but needs to include business logic associated with user authentication and access rights.
Multiple agencies tend to run multiple technical solutions. This is fine so long as they interoperate through Open Standards.
The Versioned WFS-T protocol will be presented to the OGC to be formalized as an Open Standard.
Free tools reduce entry costs to a Spatial Data Infrastructure which will maximize participation.
Open Source software already provides the majority of the functionality required by this project which means tools can be built for minimal cost.
Essential Deliverables are required to meet immediate customer needs. These phases are low risk as the functionality already exists in tested or prototype code.
Phase 1: Mirror remote WFS locally
Cached WFS (view only). Builds upon Geoserver/PostGIS.
Standard UDig for WFS viewing
Phase 2: Update remote WFS-T from remote or disconnected client
Cached WFS-T (read/write). Builds upon Geoserver/PostGIS. Add simple update business rules.
Standard UDig for WFS-T editing
Phase 3: Security - Role based editing and views
Security added to Geoserver
Role based options available in UDig
Optional Deliverables are nice to have and involve further development with associated risk.
Phase 4: Universal Client for easy install
UDig with embedded database (H2) and Cached WFS (Geoserver)
Phase 5: Universal Client on PDA
Port universal client to PDA
RFQ (5.1) Issued
May 11, 2007
Revised RFQ issued
July 9, 2007
Questions Due & Bidders’ Conference
July 16, 2007 (TBR)
July 23, 2007 (TBR)
RFQ Responses Due
August 3, 2007
week of September 10, 2007
week of November 12, 2007
week of January 7, 2008
February 18 – February 22, 2008
Commercialize product, provide support, consulting and customized solutions.
March 2008 – 2009.