Intro

I was thinking whether it would be possible to display OpenStreetMap Tiles on a small e-ink display.

The question it boils down to is, if you can display enough information with a black and white display.

First of all, this page show a list of available map styles: The one that caught my eye was the Toner map style: http://maps.stamen.com/toner/#12/37.7706/-122.3782. This is already pretty close to black and white (it’s grey scale).

In one of my previous posts I have already shown how to dither an image:

# important: scale first, then dither
convert tile.png -thumbnail 104x212^ -gravity center -extent 104x212 -set colorspace Gray -separate -average -ordered-dither h4x4a  tile_dithered.png

Another way would be to map the images directly to black and white using a threshold:

# important: scale first, then threshold
convert tile.png -thumbnail 104x212^ -gravity center -extent 104x212  -threshold 96% tile_thresh.png

The Results

Some tile with roads
Using dithering
Using threshold
Some tile with forest
Using dithering
Using threshold

Conclusion

I think it should be possible to create a render that either directly creates black and white images, or create a render pipeline that uses the Toner renderer and then converts the results to black and white to create tiles for an e-ink/e-paper display.

In the later case I guess it should be possible to find better conversion parameters to get nicer results.

So, yes, I think I`m going to add maps to my smartwatch project :). If I find the time, I will try at least ;).