All Projects β†’ rastapasta β†’ Mapscii

rastapasta / Mapscii

Licence: mit
πŸ—Ί MapSCII is a Braille & ASCII world map renderer for your console - enter => telnet mapscii.me <= on Mac (brew install telnet) and Linux, connect with PuTTY on Windows

Programming Languages

javascript
184084 projects - #8 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to Mapscii

Mapbox Gl Native Android
Interactive, thoroughly customizable maps in native Android powered by vector tiles and OpenGL
Stars: ✭ 135 (-97.71%)
Mutual labels:  vector-tiles, map, openstreetmap
Mapbox Gl Js
Interactive, thoroughly customizable maps in the browser, powered by vector tiles and WebGL
Stars: ✭ 8,017 (+36.2%)
Mutual labels:  vector-tiles, map, openstreetmap
HMap
:earth: HMap | 基于openlayersηš„ε°θ£…η»„δ»Ά
Stars: ✭ 64 (-98.91%)
Mutual labels:  map, vector-tiles, openstreetmap
Mapbox Gl Native
Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node.js, and Qt applications, powered by vector tiles and OpenGL
Stars: ✭ 4,091 (-30.5%)
Mutual labels:  vector-tiles, map, openstreetmap
Vector Datasource
Tilezen vector tile service - OpenStreetMap data in several formats
Stars: ✭ 427 (-92.75%)
Mutual labels:  vector-tiles, map, openstreetmap
osm-analytics-cruncher
Backend code for osm-analytics
Stars: ✭ 14 (-99.76%)
Mutual labels:  vector-tiles, openstreetmap
slim-command
Useful commands for slim application
Stars: ✭ 13 (-99.78%)
Mutual labels:  console, console-application
Tilemaker
Make OpenStreetMap vector tiles without the stack
Stars: ✭ 468 (-92.05%)
Mutual labels:  vector-tiles, openstreetmap
Tty Markdown
Convert a markdown document or text into a terminal friendly output.
Stars: ✭ 275 (-95.33%)
Mutual labels:  console-application, console
chess
Chess (game)(β™Ÿ) built in C# and ASCII art.
Stars: ✭ 20 (-99.66%)
Mutual labels:  ascii-art, console-application
map-machine
Python renderer for OpenStreetMap with custom icons intended to display as many map features as possible
Stars: ✭ 82 (-98.61%)
Mutual labels:  map, openstreetmap
Csconsoleformat
.NET C# library for advanced formatting of console output [Apache]
Stars: ✭ 296 (-94.97%)
Mutual labels:  console, ascii-art
o.map
Open Street Map app - KaiOS
Stars: ✭ 51 (-99.13%)
Mutual labels:  map, openstreetmap
AndroidOfflineMapLibrary
Offline OpenStreet Map Library (No Internet Required) You dont have to even one-time connect!
Stars: ✭ 16 (-99.73%)
Mutual labels:  map, openstreetmap
ascii chart
Nice-looking lightweight console ASCII line charts β•­β”ˆβ•―. Port of kroitor/asciichart.
Stars: ✭ 24 (-99.59%)
Mutual labels:  console, ascii-art
map
πŸ³οΈβ€πŸŒˆπŸ—Ί A map of community centers and other helpful information for queer (LGBTQ) people.
Stars: ✭ 15 (-99.75%)
Mutual labels:  map, openstreetmap
conso
πŸ’’ PHP console applications for cool kids πŸ’’
Stars: ✭ 40 (-99.32%)
Mutual labels:  console, console-application
Blendergis
Blender addons to make the bridge between Blender and geographic data
Stars: ✭ 4,642 (-21.13%)
Mutual labels:  map, openstreetmap
Vectiler
A vector tile, terrain and city 3d model builder and exporter
Stars: ✭ 394 (-93.31%)
Mutual labels:  vector-tiles, openstreetmap
vtm
OpenGL vector map library - running on Android, iOS, Desktop and browser.
Stars: ✭ 212 (-96.4%)
Mutual labels:  map, openstreetmap

MapSCII - The Whole World In Your Console. Build Status

A node.js based Vector Tile to Braille and ASCII renderer for xterm-compatible terminals.

asciicast

Try it out!

$ telnet mapscii.me

If you're on Windows, use the open source telnet client PuTTY to connect.

Features

  • Use your mouse to drag and zoom in and out!
  • Discover Point-of-Interests around any given location
  • Highly customizable layer styling with Mapbox Styles support
  • Connect to any public or private vector tile server
  • Or just use the supplied and optimized OSM2VectorTiles based one
  • Work offline and discover local VectorTile/MBTiles
  • Compatible with most Linux and OSX terminals
  • Highly optimized algorithms for a smooth experience
  • 100% pure JavaScript! 😎

How to run it locally

With a modern node installation available, just start it with

npx mapscii

How to install it locally

With npm

If you haven't already got Node.js >= version 10, 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

With snap

In any of the supported Linux distros:

sudo snap install mapscii

(This snap is maintained by @nathanhaines)

Running

This is pretty simple too.

mapscii

Keyboard shortcuts

  • Arrows up, down, left, right to scroll around
  • Press a or z to zoom in and out
  • Press c to switch to block character mode
  • Press q to quit

Mouse control

If your terminal supports mouse events you can drag the map and use your scroll wheel to zoom in and out.

Behind the scenes

Libraries

Mastering the console

Discovering the map data

Juggling the vectors and numbers

  • earcut for polygon triangulation
  • rbush for 2D spatial indexing of geo and label data
  • bresenham for line point calculations
  • simplify-js for polyline simplifications

Handling the flow

TODOs

  • MapSCII

    • GeoJSON support via geojson-vt

    • CLI support

      • [-] startup parameters
        • TileSource
        • Style
        • center position
        • zoom
        • demo mode?
    • mouse control

      • hover POIs/labels
      • hover maybe even polygons/-lines?
  • Styler

    • respect zoom based style ranges
  • Renderer

    • download and process tiles in a different thread (#3)
    • optimize renderer for large areas (#6)
    • label drawing
      • multi line label?
  • TileSource

    • implement single vector-tile handling

Special thanks

Licenses

Map data

The Open Data Commons Open Database License (oDbl)

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).

MapSCII

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].