Open source and open data map building

This tutorial explains a method for building a map that uses open source tools (when possible) and also allows for easily sharing the data that is being mapped.

Some terms and definitions:

Drupal – an open source content management system (CMS). This provides a framework for building websites that can be updated by users with no specialized technical knowledge. The Drupal framework allows for people to add extra functionality by writing small pieces of code. This ability has made it a very popular CMS. You need to have a website account in order to install and use Drupal.

OpenLayers – an opensource javascript program that ¨makes it easy to put a dynamic map in any web page.¨

An example of what can be done with Drupal and OpenLayers is the Detention Watch Network's map. This site is still in development but gives you a sense of what can be accomplished. Each icon on the map, when clicked, shows a pop up of the detention centers that are located under that icon. There are sometimes more than one because this view is of the whole U.S. and there can be numerous locations that are too close together to get their own icons. When you click on one of the entries for a detention center you are taken to a page that holds more information about that location.

Additionally, adding another point on the map is as easy as adding a new page (which a CMS like Drupal is supposed to make very easy). When the new page is created the location is added to the map, as long as a latitude and longitude can be obtained from the address. Geocoding the address (as the process of turning an address into coordinates is known) is a task that is automatically done by a Drupal module.

The map is also using Open Street Map (OSM) () to draw the map. OSM is a ¨free editable map of the whole world.¨

May First/People Link is a membership-based technology organization. One of the main benefits of membership is the hosting of websites and email addresses. I mention them because another benefit is the automated set up of Drupal installations for members. Organizational membership is $200 a year and individual memebrship is $100 a year.

  • Install Drupal on your website. You need a website account in order to use this program.
  • Install a handful of Drupal modules: openlayers, gmap, views
  • Configure the modules.
    • gmap – you need a google map api key in order to get this module (do you mean gmap?) to work. We use this module to get latitude and longitude for the address,
    • openlayers – you need to create a preset, where you can choose the mapping site that will draw your map. Options include google, yahoo and Open Street Map (nice use of listing the options!) *views – the openlayers module uses this module to draw the map.

If you are unfamiliar with Drupal, the above instructions may seem daunting but do not despair. There are lots of online resources, including the May First support system for members (, where one can look for help.

One of the advantages of using a system like this is that it is very easy to share the data with other websites and users. Drupal can take any kind of content (in the example above there was a content type created that was called Detention Centers) and make it available as an RSS feed. RSS (most commonly expanded as Really Simple Syndication) is a family of web feed formats used to publish frequently updated works—such as blog entries, news headlines, audio, and video—in a standardized format.

RSS feeds can be easily incorporated into other programs, enabling people to share content. This ability enabled the Detention Watch Network to assist an ally who wanted to create their own map of detention centers. This url: is an RSS feed of the locations that are being plotted on the map. If one properly incorporates this feed into a map, when the Detention Watch Network adds a new site or edits an existing one the new map will also get updated.

Last modified 7 years ago Last modified on Nov 4, 2010, 12:16:51 AM