Version 13 (modified by Josue Guillen, 11 years ago) (diff)


How can I add an interactive map to my web site?


Mapping involves a lot of concepts that are hard to put together by yourself. This page provides a survey of the different opensource tools available to do this work.

The pieces

The Map Server

The Map Server's job is to read mapping data files and create maps from them.

MFPL offers mapserver for all members. Please post a ticket to request access to the map server.

To get started with our mapserver, you will need to create a map file, which points to the data you've collected. Check out this tutorial for an introduction.

Other map servers include: geoserver, suas mapserver, openstreetmap, mapnik.


The most common data format (currently) is a shapefile. The ESRI Shapefile or simply a shapefile is a popular geospatial vector data format for geographic information systems software. It is developed and regulated by ESRI as a (mostly) open specification for data interoperability among ESRI and other software products. A "shapefile" commonly refers to a collection of files with ".shp", ".shx", ".dbf", and other extensions on a common prefix name (e.g., "lakes.*"). The actual shapefile relates specifically to files with the ".shp" extension, however this file alone is incomplete for distribution, as the other supporting files are required.

Shapefiles spatially describe geometries: points, polylines, and polygons. These, for example, could represent water wells, rivers, and lakes, respectively. Each item may also have attributes that describe the items, such as the name or temperature.

-- wikipedia

Census folks have recently released updated data.

National atlas is another gov site. This one has great categories: transportation, water, people, history, etc.

Addresses and Geo coding

If you want to plot points on a map, you will need to provide the addresses. In addition, you will need to add geo-coding information to the addresses in order for the points on the map to be plotted. Geo-coding data is converting an address (building number, street name, zipcode) into latitude and longitude coordinates, that allow the location to be plotted on a map. - Geocoding site that lets you look up one address at a time. Their sourcecode is available, if one was interested in offering this service. Geocode multiple addresses on one site. Uses the Yahoo geocoding API


One handy way to make your data portable is to use RSS. It is one way to publish your geo-coded data in a way that your map front end can access it. This map uses the drupal content management system to publish an RSS feed of all the detention centers in the US. Openlayers reads that feed and uses it to print markers on a map.

GeoRSS is simple proposal for RSS feeds to also be described by location

The front end

Finally, you will need a front-end that reads your address/geo-coded points, requests the map from the map server, and displays the result to the end-user. This is software for creating layers of data, zooming in or out of a map, etc.

MFPL recommends openlayers. To use openlayers...

Other software includes: ka-map, worldkit, geomoose

Notes and discussion

Mapserver seems to be the best choice for serving maps. It's been around the longest and can do it all. Geoserver uses Tomcat, which is why I did not use it. SUAS I was not able to get installed. I was very intrigued but could not find some key components as I was trying to install. Openstreetmap is an opensource project to map the world. Mapnik is the latest and greatest software. It makes very pretty maps!

Ka-boom seemed to be the best choice for a front end, mainly because it has a tiling mechanism that allows for smooth scrolling inside a map. I ended up choosing openlayers because it allowed me to plot points on a map using GeoRSS feeds. Worldkit is an easy to use flash-based mapping program. Nice, but I do not like flash. Geomoose is intriguing, with their focus on separating the layers of info from the map itself. I found it late in the game, so it needs more looking at.


I have started working with the U.S. Solidarity Economy Network on maps and wrote a document explaining how and why Drupal with the openlayers and views module (along with Open Street Map to draw the map) is my recommended way to make an online map now.