PDF atlas
A printable UK road atlas, created from OpenStreetMap data.
Download
At http://svn.openstreetmap.org/applications/rendering/pdf-atlas/
Running the program
Prerequisites: Requires the Perl programming language, and its PDF-API2 module (package libpdf-api2-perl
in Debian/Ubuntu) to generate atlases. Requires Perl's XML::Parser module to use planet.osm files.
A shell script create.sh is included, which will download the data files and start an example rendering with the config file Config/config.txt.
If you really want you currently can also download the sources and config files like follows:
You will need certain configuration and data files in place:
- In the main directory
- The PDF atlas source code /applications/rendering/pdf-atlas/
- Files in the Config/ directory
- config.txt - list of config files to use
- places.txt - list of places; what to put on each page
- license.txt - the Creative Commons license
- styles.txt - colours and line widths for the various types of road
- equivalences.txt - list of tag names that are equivalent to each other
- filter.txt - what type of roads to include on each map
- Files in the Data/ directory
- osm.txt - generated using Planet.osm to text
- gshhs_i.b - Download GSHHS coastline data here
All files are available as a ZIP [1] to give you the directory structure, although the latest copies of each file are on the wiki.
Run the program with
perl pdf-atlas.pl Config/config.txt
or simply
create.sh
TODO
High priority
- Better filtering (motorways and primary roads only on the area maps)
- Coastline filtering (remove from detail maps where it's so obviously in accurate)
- City names
- Those machine-readable bookmarks in PDF
Medium priority
- Calculate the border for all maps to retrieve from all single maps.
With this the line in Config/config.txt: "Area: 52.0, 5.0, 20" would no longer be needed.
- Index
- Fix localisation (using Norwegian names as test data)
- Ability to set paper size in configuration (e.g. to create A2 PDFs, or landscape orientation)
Low priority
- Line widths and bordered lines
- Text, points, and symbols (pub icons)
- Distributable processing (e.g. creating each page individually and combining them later)
- Truncate lines that are off the map, rather than relying on white borders to hide the overflow
- Precalculate page numbers
- Draw the grid letter/numbers over the streets, in a darker shade of blue
Bugs
- Gamma setting is still optimised for Apple Mac
- Planet.osm to text needs to recognise railways, waterways, etc.
- draw the light blue grid under the streets, it should be nicer
Feature requests
- Add your feature requests here
Prerequisites in Linux Distributions
Debian/Ubuntu
apt-get install libpdf-api2-perl libxml-parser-perl libfile-slurp-perl
(these are still packaged as of Debian Bookworm/Ubuntu 22.04)
Gentoo Linux
emerge dev-perl/PDF-API2 dev-perl/File-Slurp dev-perl/libxml-perl