A Framework for Web and Mobile Volunteered Geographic

Download Report

Transcript A Framework for Web and Mobile Volunteered Geographic

A Framework for Web and Mobile
Volunteered Geographic Information
Clodoveu Davis, Hugo Vellozo, Michele Pinheiro
Departamento de Ciência da Computação
Universidade Federal de Minas Gerais
Volunteered Geographic Information
with local knowledge
New Data
from local knowledge
Web 2.0
Each VGI project tends to be unique as to
Geographic representation alternatives
User identification style
Validation / confirmation / curation / moderation mechanism
User interaction style
As a consequence, it is difficult to implement
reusable VGI solutions
A VGI Framework
• Although there are VGI applications require many
parameters, a generic structure can be designed
• Each parameter is handled by a module in the
• Modules can be included or left out of an implementation
• New modules can be included in the future
• Common management and monitoring functions are included
by default
• Custom adaptations can be handled
A VGI Framework
Presentation layer
Business layer
Data layer
Data Layer
Business Layer
• The business layer contains a set of services
that mediate communications between the
Data layer and the Presentation layer
• Each service follows a specific pattern,
• Protocol
• Insertion and retrieval services
• Access drivers
Business Layer
• Protocol defines the standards used by components on the
business layer for communication:
• Format of message (XML, JSON, and respective standard schemas)
• Web protocol (HTTP and others)
• Insertion and Retrieval Services define the group of operations
that interact with specific targets on the data layer
• Access Drivers vary according to the technology used in the Data
and Business layers
• The data layer defines which DBMS will be connected
• The services on the Business layer define the context of the
implementation, such as programming language
Presentation Layer
• The Presentation layer is described using the ModelView-Controller design pattern
• Model
• Includes data transfer operations between applications and the
business layer
• Controller
• Processes data that are sent to the model and view components
• Includes hardware operations such as collecting GPS data, etc.
• Includes different components depending on the environment
• View
• Comprehends the user interface
• Includes base map alternatives and forms to receive contributions
Presentation Layer
• These groups correspond to parts of the generic
conceptual database schema
Case Study: Strepitus
• Strepitus was implemented in order to apply the
framework concepts
• Many VGI applications are useful on urban
• In general they can help to discover city areas that
need governmental assistance
• Strepitus application was developed with the aim
of offering:
• Users a way to register noise pollution
• Government a tool that can provide evidences of areas
with this type of conflict
Strepitus - Architecture
• Some features of the framework were adapted to
be used on Strepitus
• As defined previously, the application is designed in
three layers
Strepitus – Data Layer
• Data layer implemented over PostgreSQL/PostGIS
• A subset of the generic schema was implemented,
since the application is simple
Strepitus – Data Layer
• Contribution class: limited to three classes
• Contribution
• ContributionVersion
• Feature
• This approach considers that contributions cannot
be edited or removed
• Noise level typically captured by hardware (mobile app),
so not editable
• Registers an instantaneous event
Strepitus – Data Layer
• Three classes have not been used
• Entity: Strepitus covers a single theme
• Comment and Feeling: decision to capture
instantaneous events based on user-provided
• The remaining classes were implemented as in the
framework definition
• User
• LogUser
• ContributionType
Strepitus – Data Layer
• The ContributionType includes a reference table on
typical noise sources for the non-measuring Web
Strepitus – Business Layer
• Includes two services
• Custom Web service
Implemented in PHP
Uses JSON and HTTP
Access database using a default PHP library
Used by the mobile applications to retrieve and insert data
Used by the Web application to insert data
• Geoserver
An open source application
Builds catalogs of geographic data from various spatial formats
Publishes data over interoperable OGC standards
Used by the Web application to retrieve data
Strepitus – Presentation Layer
• Mobile and Web applications follow the MVC
• iOS
• Android
• Web
• The views implemented are
Contribution Map
New Contribution
Strepitus – Presentation Layer
• Mobile apps
• Implemented using Objective-C and Android SDK
• Collect noise level and GPS location from the hardware
• Web application
• Implemented using PHP and Javascript (Openlayers, Geoext,
• The location is indicated interactively by the user over a
basemap and converted by Openlayers
• The noise level is approximated by the user using a
reference noise scale
Strepitus – Presentation Layer
Android version
iOS version
Strepitus – Presentation Layer
Conclusions and Future Work
• The proposed framework has been fully defined,
but alternative components must still be developed
• Focus on a variety of generic and reusable components
• Extensibility
• Integration of VGI applications for Web and Mobile
environments, to be released simultaneously
• Priority extensions
• Social network integration
• Validation functions
• Visualization (feedback) functions
Conclusions and Future Work
• Strepitus is a first application that allows us to test
the ideas behind the framework, and to assess the
power of mobile implementations for VGI
• Without any publicity campaign, most of the
contributions were provided by mobile devices
• But smartphones are still scarce in Brazil
• Mobile capabilities are required as part of user
motivation for VGI applications
• iOS and Android versions of Strepitus are all available on
respective app stores
• They can be downloaded forfree
• Online application is hosted at:
• geo.lbd.dcc.ufmg.br/strepitus
• More information about new versions:
• Facebook: facebook.com/Strepitus
• Twitter: @StrepitusApp
A Framework for Web and Mobile
Volunteered Geographic Information
[email protected]