Python renderer for OpenStreetMap with custom icons intended to display as many map features as possible
Find a file
2020-08-27 09:48:20 +03:00
.idea Major refactoring. 2020-08-22 10:28:30 +03:00
data Remove tags for missing icons. 2020-08-26 10:11:34 +03:00
doc Issue #11: add preview for user and time modes. 2020-08-26 10:00:09 +03:00
icons Fix icons. 2020-08-27 09:08:33 +03:00
roentgen Fix icon extraction. 2020-08-27 09:48:20 +03:00
.gitattributes Add credit to Osmic. 2020-08-23 07:11:39 +03:00
.gitignore Getting data from OpenStreetMap. 2015-08-07 01:04:38 +03:00
.travis.yml Add requirements and Travis CI file. 2020-08-26 10:14:19 +03:00
icons.html All icons HTML page. 2015-08-02 19:33:37 +03:00
readme.md Add build status. 2020-08-26 10:20:07 +03:00
requirements.txt Add requirements and Travis CI file. 2020-08-26 10:14:19 +03:00
run.py Add OSM data downloading using API. 2020-08-23 11:15:51 +03:00
session.vim Icon colors. 2015-08-07 12:44:20 +03:00
test.py Fix icon extraction. 2020-08-27 09:48:20 +03:00

Röntgen is a

  • simple Python OpenStreetMap renderer,
  • set of icons,
  • and map styles.

Build Status

The idea behind Röntgen project is to have a possibility to display every OpenStreetMap data tag on the map. Suppose, you spent time adding colors for building walls, benches and shelters for bus stops but they do not represented on the map. Röntgen helps to display all changes you made.

Nevertheless, Röntgen map generator can generate precise but messy maps for OSM contributors as well as pretty and clean maps for OSM users.

Map elements

3D buildings

Simple shapes for walls, shade, and roof.

3D buildings

Trees

Tree leaf types, leaf cycles, and genes.

Trees

Icon set

If tag is drawable it is displayed using icon combination and colors. All icons are under CC BY 4.0 license. So, do whatever you want but give appropriate credit. Icon set is heavily inspired by Osmic icon set.

Icons

Feel free to request new icons via issues for whatever you want to see on the map. No matter how frequently the tag is used in OpenStreetMap since final goal is to cover all tags. However, common used tags have priority, other things being equal.

Icon combination

Some icons can be combined into new icons.

Bus stop icon combination

Röntgen map styles

All tags style

Options: --show-missing-tags --overlap 0.

Display as many OpenStreetMap data tags on the map as possible.

Pretty style

Options: --draw-captions main --level overground.

Display only not overlapping icons and main captions.

Creation time mode

Visualize element creation time.

Creation time mode

Author mode

Visualize element authors.

Author mode

Map generation

Requirements: Python 3.7.

There are simple Python renderer that generates SVG map from OpenStreetMap data. You can run it using:

python3 run.py \
    -b ${LONGITUDE_1},${LATITUDE_1},${LONGITUDE_2},${LATITUDE_2} \
    -o ${OUTPUT_FILE_NAME} \
    -s ${WIDTH},${HEIGHT}

Example:

python3 run.py -b 2.284,48.86,2.29,48.865 -o map.svg -s 1000,1000

Main arguments

Required

OptionValueDescription
-b, --boundary-box <longitude 1>,<latitude 1>,<longitude 2>,<latitude 2> Boundary box to draw.
-s, --size <width>,<height> Result image size in pixels.
-o <path> Path to output SVG file name.

Optional

OptionValueDescription
-i <path> Path to input XML file name. If this argument is not set, XML file will be downloaded through OpenStreetMap API.

Check all arguments with python3 run.py --help.