VGI Map Progress

Progress on the VGI map

The broad goal of this project is to create a scalable, easy to deploy map that enables user input of point, line and polygon into a DB that supports some level of moderation. In addition, the UI will support layer control, pan and zoom. While these elements are available though the Leaflet JS library (and it only makes sense to use this library) there isn’t a “ready to deploy” iteration of this build for someone who cannot code in JS. As such, I think that there is a need for researchers, or PPGIS geeks like me. Please see below for a stack concept.

VGI Stack Concept

VGI Stack Concept

Within this context, I am asking for help from the broader developer community, and specifically those geonerds with the right skills, by way of GitHub. I have created a VGI Project repo on GitHub with some project parameters, wireframes and a base template (shamelessly stolen from CartoDB), and I will be working with Zachary Schoenberger to fill out more details. My plea:

  1. Help with the project parameters and management;
  2. Poke holes and generally make suggestions on what can be better;
  3. Contribute code.

What do you think?

Building a VGI Web Map 1: Goal and workplan

It’s clear from my previous two posts that I want to learn how to build a web map. So, this post to lay out my roadmap forward.


Front end: A beautiful web-map with an intuitive UI, layer controls and the ability for a user to add point, line and polygon features, and to describe those features.

Back end: Upload and display data via layers on the map, moderation controls, make selected data ‘private’, download the spatial data (+ meta data) in a GIS friendly format such as .shp or .geojson.

Map Models

I am modeling my outcome on the look, feel and function of two maps:

The Tech

After some discussion and a great email from Hugh Stimson where he explained the components, and range of options he considered to build his Salish Sea Spill Map, I think I have a way forward – my specific project needs include:

Database:  The options for this include CartoDB, Fusion Tables and MySQL or PostGIS.  I think that I have settled on CartoDB as a middle road – perhaps a little harder to learn than Fusion Tables, but with some more functionality (i.e. I understand that the logic of CartoDB can include moderation by ‘queuing’ the VGI content for approval by a moderator).  I am learning PostGIS as the standard DB, but find it frustrating and will switch over if I get good enough to manage it.

Base Map: I have not settled on this yet, but think that I will use a simple OSM derivative map, something like the MapBox Streets or Stamen Toner. The point of this base-map is to provide enough geographic detail that (1) the additional layers of data make sense, and (2) so that a VGI contributor can select the correct geographic area in which to add their data.

User Interface:  There are a range of functions that need to be accommodated, which include:

  • Zoom control
  • Layer control
  • Dialog boxes
  • Navigation bar
  • Forms (and perhaps some form validation)
  • VGI Input

To do this, I think we will need to run Bootstrap and Leaflet, but I am not certain and need to delve into this in greater detail.

The final configuration will be CartoDB + Leaflet + JS.

The Plan

  1. Consult with my team to ensure my thinking is correct, and to rough out a more detailed requirements list.
  2. Start using CartDB and Leaflet to build a basic web map as a prototype
  3. Build this basic map out until I meet the requirements.

The Plan B

Deploy a ‘personal’ instance of Ushahidi if Plan A takes to long or is simply beyond my skill.


I plan on regular updates to document my progress and to ask for help. If you are reading this, and are interested in contributing some skill, time, or simply advice, please let me know by email or twitter. I can’t pay you, but I will buy you coffee, maybe lunch and, if you build something, will defiantly give you credit on the map.

uMap Test Deployment

I am testing uMap to see if it may work for the purpose of crowdsourcing spatial data. Please have a look and add some content:

See full screen

uMap looked promising.  I loved that it supported some map customization (i.e. the Stamen Toner or the OSM monochrome map theme) and that the interface for adding point, line and polygon was intuitive.  I did not see any moderation tools, but was interested in the embed function… so I tried it.  Not impressed.  A map in a WP post, I can zoom but not add any VGI. This will not work for my purpose.

VGI GeoStack – Some Questions

I am working on a mapping project where, once deployed, we will be looking to gather VGI or crowdsourced geographic information from a specific group of Edmontonians.  Ethical issues aside (I am looking at Matt Wilson’s Critical GIS Reading List) I am trying to get my head around the technology that I will need to deploy to enable a customizable, flexible and light stack for displaying a number of map layers, and collecting point, line and polygon data as well as a narrative that may accompany these spatial data.  I considered a deployment of Ushahidi’s Crowdmap, but feel that it does not offer the speed and UI / UX flexibility that we need.

The stack I am considering, and would like feedback and suggestion on, is:

  • PostGIS as the database
  • QGIS + TileMill – to process and style the base-map and layers, and to make the MBTiles.
  • PHP Tile Server – To serve the MBTiles onto the internet.
  • Leaflet JS – for the UI/UX design
  • OSM’s iD Editor – for the VGI component to manage the contribution of spatial data.

I have some questions regarding this:

  1. Is this the best / easiest way to go?
  2. Can the iD Editor be linked to PostGIS, or is there a better way in this instance to glean VGI?
  3. What role can GeoJSON and GitHub play in this stack?

I am still getting my head around this and would appreciate any thoughts.

UPDATE 02 December 2013

I received some good discussion and suggestions for a platform via Twitter from Alan McConchie and Hugh Stimson (Hugh pointed to his Salish Sea Spill Map as a map that incorporates VGI – it’s an interesting project and cool map):


I plan on breaking down both uMap and MapStory, and will update this post again with my results.

uMap Update on 03 December can be found here.