Skip to content
WWARN Maps Surveyor is a mapping platform for visualising data to support statistical reporting, public health surveillance, and health research. However, the use of the this goes beyond geo visualisation of research data. The platform can, for instance, facilitate functions such as decision support, statistical mapping, crime surveillance etc.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
MapCore
SurveyorCore
SurveyorSimpleDemoApp
gwt-localforage
.gitignore
.travis.yml
LICENCE
README.md
pom.xml

README.md

WWARN Maps Surveyor overview Build Status

WWARN Maps Surveyor is a mapping platform for visualising data to support research synthesis and reporting in global health settings and health research. However, the use of the this goes beyond geo visualisation of research data. The platform can, for instance, facilitate functions such as decision support, statistical mapping, crime surveillance etc.

At WWARN we use maps to communicate information about the incidence of malarial drug resistance across a region, report on anti malarial drug quality in a country, map the aetiology of non malarial febrile illness across continents. As the demand for creating surveyors increased, we decided to refactor the existing GWT code base for mapping and develop a reusable framework in GWT to create new maps.

These requirements can be summarised as:

  • reduce the time needed to develop maps
  • reduce the maintenance overhead for each implementation of the maps surveyor, reduce code duplication across several implementations

We approached these requirements by developing these features:

  • refactoring the code base to create reusable components for the UI, for instance Map, Filter, Markers, Popups etc
  • designed a simple DSL to configure the web application using XML configuration file
  • improve automated testing across the platform to improve code maintainability, we are following a test pyramid approach, focusing intially on unit testing, followed by service and UI tests.

Features supported in XML configuration:

  • a dataprovider abstraction was added as a basic facade over a data source , with a view support multiple data sources, for instance the current data source is a local JSON file, in the future this could be a google spreadsheet
  • support for faceted browsing, with several configurable facet filter UI components, including multiple selection
  • a schema datatype to map the data source to an internal type representation
  • support views beyond maps, such as tables, links static embedded content etc.

Limitations:

  • For Big data, ie billions of records, consider solutions which down samples very large data sets such as imMens which aggregates over very large data sets and partitions the data based on the projection of the data needed for visualisation

Demos and implementations

The offline capable surveyor is available at: http://www.wwarn.org/surveyor/NMFI/ and uses http://offlinefirst.org principles and a demo of the offline capability is here : https://vimeo.com/135569913

There are several other implementations of the surveyor:

Deployment and versioning:

We try to follow semantic versioning semver.org principles outlined:

Given a version number MAJOR.MINOR.PATCH, increment the:

MAJOR version when you make incompatible API changes, MINOR version when you add functionality in a backwards-compatible manner, and PATCH version when you make backwards-compatible bug fixes. Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

Set new version: mvn versions:set -DnewVersion=1.4.1-SNAPSHOT

Test mvn clean verfiy

Commit/revert: mvn versions:(commit|revert)

How do I use it?

The use of this framework assumes some familiarity with GWT framework, mvn, and an IDE like Eclipse or Intellij.

  1. Clone the sample application, and configure xml git clone https://github.com/WorldwideAntimalarialResistanceNetwork/WWARN-Maps-Surveyor.git

  2. Build Maven commands: Deployment - Jetty:

 cd WWARN-Maps-Surveyor/
 mvn -DskipTests
 cd SurveyorSimpleDemoApp/
 mvn clean verify org.codehaus.cargo:cargo-maven2-plugin:run

Deployment - Tomcat6x: Should deploy to http://localhost:8080/[artifactID]-[version]

 cd SurveyorSimpleDemoApp
 mvn clean verify org.codehaus.cargo:cargo-maven2-plugin:run -DskipTests -Dcargo.maven.containerId=tomcat6x -Dcargo.maven.containerUrl=http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.37/bin/apache-tomcat-6.0.37.zip

Deployment - Tomcat7x

  cd SurveyorSimpleDemoApp
  mvn clean verify org.codehaus.cargo:cargo-maven2-plugin:run -DskipTests -Dcargo.maven.containerId=tomcat7x -Dcargo.maven.containerUrl=http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.16/bin/apache-tomcat-7.0.16.zip

Where can I learn more

Check the README files in the SurveyorCore and MapCore modules

Get in touch

We have setup a google web forum at Worldwide Antimalarial Resistance Network Open Source Software, please use this to get in touch if you have any questions. Alternatively, if you have noticed a bug/have a new feature request use GitHub issue tracking system to report this.

Project Sponsored by

IntelliJ IDEA Free Open Source License

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.