Warning - This site is a work in progress - some bits will not work
OSM Print Maps
This site is a tool to create printable maps from
Three styles of output are supported:
- Simple single page maps.
- 'Townguide' maps with street index and highlighted points of
- 'Mapbook' atlas style booklets with a larger are split over
A number of map styles are supported, and the user can select if
a grid, contour lines or hill shading (relief) is required.
The map is produced as a PDF file which can be downloaded for printing.
To create a map you should:
- Select the "Create Map tab" to open the editor.
- Drag and zoom the on-screen map to show the area that you wish to create a printable map for.
- In the 'General Map Configuration', select the title
and paper size to be used for the output, and the style of
- In the 'Map Style Options' select whether a grid, contour lines
or hill shading is required on the map.
- Press the 'Submit Job' button to create your map. The output will appear in the 'Output' section after a few minutes.
If you have difficulty using the site, or have suggestions for
improvements, please contact
Working things should be:
- Simple Map output (not townguide or mapbook)
- Default OSM map style
- Hillshading, contours and grid map style options
How it Works
The source code for the entire application is available on
The system comprises three distinct components:
which runs in a web browser, and adds map request rendering
jobs to a queue ready for processing.
- Queue API - The application programming interface (API) that
handles the queue of jobs that need to be rendered into pdf maps.
This runs on the web server that also serves the job editor web
front end. This is written in php, and uses a mySql database
so it will run on most commercial web hosting services.
- Job Processor Daemon - a programme that runs on a computer
that periodically asks the Queue API if there are any job
rendering tasks in the queue. If there is, it downloads the
request and processes it into a PDF map. It then uses the
queue API to upload the results to the web server so they can
be accessed by the user.
Although not implemented yet, the intention is that the system will
support several job Processor Daemons, running on different computers.
This will be useful to allow lower power computers to be used -
different people could maintain job processors that have databases
of different areas - if enough computers are involved, global coverage
could be achieved.
If you have any queries (or would like to help get it working
properly!), pease contact