cache.example | ||
style | ||
.gitignore | ||
generate_map.py | ||
map.png | ||
map.svg | ||
README.md | ||
requirements.txt |
erfamap
Generate a map similar to https://www.ccc.de/regional from Wikidata and the doku.ccc.de Semantic MediaWiki data.
Usage
For a quick test run, point the script at the cache.example directory:
./generate_map.py --cache-directory cache.example
Find the result in the files map.svg
and map.png
.
If the wrong font is used in the PNG, make sure the chosen font is installed on your system. (CairoSVG does not support the use of @font-face
in style sheets.)
When not cache exists or forcing cache renewal, you need to provide the HTTP Basic Auth credentials to doku.ccc.de via an environment variable:
export DOKU_CCC_DE_BASICAUTH=username:password
A run without cache takes some time as it fetches all data from their sources:
- Get a list of countries in Europe and federal states in Germany from Wikidata.
- Download all these countries' and states' border shapes from Wikimedia Commons.
- Get a list of Erfas & Chaostreffs from the doku.ccc.de Semantic Mediawiki API.
- Resolve all POIs' (Erfas & Chaostreffs) street addresses' to geocoordinates using Nominatim.
Fonts
The font contained in style/concertone-regular.ttf
was created by Johan Kallas (johankallas@gmail.com) and is licensed unter the terms of the SIL Open Font License v1.10.