MapSCII: Terminalized OpenStreetMap

MapSCII is really nifty if not incredibly cool, and definitely as claimed as "The Whole World In Your Console."  Intrigued? Well, just telnet mapscii.me now as I did since I don't have Node.js nor any JavaScript engine installed.

https://youtu.be/LSRuTxB0Ix8
YouTube video or asciinema (by author)

It's written in JavaScript with Node.js using OpenStreetMap, and if you have xterm-compatible terminals, you can use mouse to control it, zooming in and out with mouse wheel, dragging to pan the view.

The following screenshots showcase some of its representation, mostly are in Braille Unicode characters, which has been quite popular in charting in terminal.  And not it's not just used for graphs, but also maps.

There is also a render switch for using plain ASCII as seen in the fifth and last screenshots, basically, there are just colored blocks.




As you can see, it's really not much of difference in terms of information, you can read and see country names, state lines, street names, place names, and some I probably missed.

The rendered results are quite distinguishable between map elements, the labels don't blur with others such as streets and vice versa.  Although it's the map image, I doubt it can do

The making of this viewer is not a small feat, there currently are 14 direct dependencies listed in its README.  VectorTile, polygons, polylines, 2D spatial, controls, coloring, ….  Lots of projects are used to make this happen.

Only missing for a more practical map viewer is a search function.

MapSCII is written by Michael Straßburger under the MIT License (map data licensed under the Open Data Commons Open Database License).  The screenshots were taken on 2017-06-18 from mapscii.me.

Comments