We have developed an open-source waste mapping software package for country cleanup teams. Everyone can use this software for free.

The software is in PHP programming language, using Drupal 6 framework. Map display is built on top of OpenLayers toolkit. Development is in github.com, split into several Drupal components that are loosely coupled and can (to some degree) used independently.

Editable Waste Map

The waste map component is almost ready to be used, take a look at the demo. To edit the map, first select "Add/Edit Waste Point" mode (in right upper corner) and then start clicking around on the map to add/edit/delete points. All waste points in demo are for testing only, so you are welcome to add/edit them as you please. There are some bugs but mostly it works.

Future planned features include:

  • automatic anti-abuse system that calculates a "trustworthiness" rating for each mapper, so that mappers entering incorrect data do not cause harm
  • instructions/learning materials for mappers
  • online collaboration community of mappers
  • tracking the effects of cleanup actions (mapping before and after a cleanup)

Waste map consists of 2 Drupal modules:

  • Geoclustering - a Drupal module for map displays that can scale to 100 000+ markers. This is achieved by server-side clustering of nearby objects into one marker to be displayed. As opposed to browser-side clustering solutions (e.g. Openlayers clustering behavior), those 100 000+ objects are never transferred to browser, avoiding scalability bottleneck in data transmission. Clustering is done dynamically so that when zooming out, clustering becomes more aggressive and number
    of markers actually displayed at any one time remains manageable for browsers (<1000).
  • ldiw_waste_map - a Drupal module implementing the Waste Map. It provides:
    • "Waste Point" content type, which has fields such as Geo coordinates, photos, amount and composition of waste, etc.
    • Waste Map display, displaying the "Waste Point" nodes using Geoclustering and OpenLayers.

Waste mapping using mobile phones

We have developed mapping applications for iPhone and Android smartphone platforms. These applications connect to Waste Map servers and are also available as free software from https://github.com/letsdoitworld/

Volunteer registration

Online volunteer registration can be set up using existing Drupal modules, without any programming effort needed. With extra software development, visitors could see in which parts of the country need volunteers, and pick where they register, specify how many people they will bring etc, but this is not developed yet.

Simple installation from tarball

Extract ldiw.tar.gz into your Drupal modules directory (for example /usr/share/drupal/sites/all/modules/ ). After that open your Drupal site in web browser and go to Administer -> Site building -> Modules and enable all LDIW modules along with other modules they depend on.

When users view the Waste Map, the map can automatically zoom in to users location, determined using geoip module. To enable this, you need to download the GeoLite City free version or paid version file, and uncompress it to sites/all/libraries/geoip directory (create the directory if it does not exist).

You also need apply the patch from http://trac.osgeo.org/openlayers/ticket/2891 to OpenLayers JavaScript library. To do so:

  1. Download OpenLayers from http://www.openlayers.org/api/2.9/OpenLayers.js
    to sites/all/modules/openlayers/
  2. Patch it with http://trac.osgeo.org/openlayers/ticket/2891
  3. Configure the "OpenLayers Source" at `admin/build/openlayers` as sites/all/modules/openlayers/OpenLayers.js

See ldiw_waste_map/README.txt file for further instructions on post-installation configuration.