A node.js based Vector Tile to Braille and ASCII renderer for xterm-compatible terminals.
$ telnet mapscii.me
If you're on Windows, use the open source telnet client PuTTY to connect.
With a modern node installation available, just start it with
npx mapscii
If you haven't already got Node.js >= version 6.14, then go get it.
npm install -g mapscii
If you're on OSX, or get an error about file permissions, you may need to do sudo npm install -g mapscii
In any of the supported Linux distros:
sudo snap install mapscii
(This snap is maintained by @nathanhaines)
This is pretty simple too.
mapscii
If your terminal supports mouse events you can drag the map and use your scroll wheel to zoom in and out.
x256 for converting RGB values to closest xterm-256 color codeterm-mouse for mouse handlingkeypress for input handlingstring-width to determine visual string lengthsvector-tile for VectorTile parsingpbf for Protobuf decodingmbtiles for MBTiles parsingearcut for polygon triangulationrbush for 2D spatial indexing of geo and label databresenham for line point calculationssimplify-js for polyline simplificationsbluebird for all the asynchronous Promise magicnode-fetch for HTTP requestsuserhome to determine where to persist downloaded tiles[ ] CLI support
[ ] mouse control
Styler
[ ] respect zoom based style ranges
Renderer
[ ] label drawing
TileSource
OpenStreetMap is open data, licensed under the Open Data Commons Open Database License (ODbL) by the OpenStreetMap Foundation (OSMF).
You are free to copy, distribute, transmit and adapt our data, as long as you credit OpenStreetMap and its contributors. If you alter or build upon our data, you may distribute the result only under the same licence. The full legal code explains your rights and responsibilities.
The cartography in our map tiles, and our documentation, are licenced under the Creative Commons Attribution-ShareAlike 2.0 licence (CC BY-SA).
$ claude mcp add mapscii \
-- python -m otcore.mcp_server <graph>