OpenStreetMap is at the heart of a broad community of free and open mapping tools and data.

Mapbox is a private company that provides maps for other businesses, but also develops significant open source tools inculding co-developing the iD web editor that is used by They developed TileMill, which was a desktop application for designing maps that leveraged Mapnik. It has since been deprecated in favor of a web-based solution named Mapbox Studio.

ESRI has developed ArgGIS Online, which is used by many local governments to maintain and visualize mapping data.

Mapnik is a set of open-source mapping tools that provide the ability to render maps based on mapping data. OpenStreetMap data can be converted into a format that Mapnik can process using osm2pgsql. provides weekly archives of all data, as well as “extracts” of regions around the globe.

The OpenStreetMap Foundation maintains numerous servers around the globe. These consist of servers that cache tiles at various zoom levels and servers that render those tiles.

Overpass API provides a web API for querying OSM data as well as language to compose queries on their website.

The USGS EarthExplorer is a bit cumbersome to use.

Rendering tiles

Small areas can be downloaded from using the “Export” button in the title bar. The data is exported as map.osm in OSM XML format. This is the first step in using JOSM to edit maps. The user initially needs to select an area to download before anything is rendered.

I then installed PostGIS and imported map.osm into the database.

There was a fair amount of confusion because a simple set of scripts has been replaced my more complex infrastructure. The scripts now appear to live in the mapnick-stylesheets repository. This excerpt from the PosGIS in Action textbook documents how to use these deprecated scripts. In contrast to that documentation, the mapnik-stylesheets mirror contained a script named, but unfortunately it could not download all of the required data. The original files are accessible on

So instead, I cloned openstreetmap-carto, which generates Mapnik XML, but then there’s Kosmtik, which appears to wrap all the things. So much software!!!

Displaying data

Maps can be displayed on a website using a Slippy Map with the most common implementation being Leaflet