280 likes | 468 Views
A Framework for Web and Mobile Volunteered Geographic Information Applications. Clodoveu Davis, Hugo Vellozo , Michele Pinheiro Departamento de Ciência da Computação Universidade Federal de Minas Gerais. Introduction. VGI Volunteered Geographic Information. Social interaction
E N D
A Framework for Web and Mobile Volunteered Geographic Information Applications Clodoveu Davis, Hugo Vellozo, Michele Pinheiro Departamento de Ciência da Computação Universidade Federal de Minas Gerais
Introduction VGI Volunteered Geographic Information Social interaction Web 2.0 Updating with local knowledge New Data from local knowledge
Motivation Each VGI project tends to be unique as to Theme Geographic representation alternatives Attributes 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 framework • 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
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, containing: • 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 Model-View-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 management • 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 cannotbe 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 coversa single theme • Comment and Feeling: decision to capture instantaneous events based on user-provided measurements • The remaining classes were implemented as in the framework definition • User • LogUser • ContributionType
Strepitus– Data Layer • The ContributionTypeincludes a reference table on typical noise sources for the non-measuring Web application
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 • Anopen 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 pattern • iOS • Android • Web • The views implemented are • Login • Register • 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, Extjs) • 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
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
Availability • 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 Applications clodoveu@dcc.ufmg.br