Skip to content

Latest commit

 

History

History
72 lines (62 loc) · 2.64 KB

README.md

File metadata and controls

72 lines (62 loc) · 2.64 KB

MapVas

A map canvas showing OSM tiles with drawing functionality. The repo contains two binaries,

  • mapvas: the map window
  • mapcat: an equivalent to cat to draw polygons on the map.

Setup

Make sure you have the nighly Rust toolchain installed.

    rustup toolchain install nightly

Manually:

  • Clone this repository.
  • cd mapvas ; cargo +nightly install --path .

Via cargo:

  • cargo +nightly install mapvas

Usage

mapvas

Start mapvas and a map window will appear. mapvas

Functionality Description
zoom Use the mouse wheel or +/-
moving Left mouse and dragging or arrow keys

mapcat

Mapcat currently reads only input from stdin and reads it line by line and pipes and uses it using various parser. It then shows the parsed result on a single instance of mapvas, which it spawns if none is running.

Grep (default)

This parser greps for coordinates latitude and longitude as float in a line. In addition it supports colors and filling of polygons. Examples:

  • draws a point at Berlin Alexanderplatz:
    echo "52.521853, 13.413015" | mapcat
  • draws a line between Berlin and Cologne and a red line between Cologne and Amsterdam:
    echo "50.942878, 6.957936 52.521853, 13.413015 green\n 50.942878, 6.957936 52.373520, 4.899766 red" | mapcat 
  • draws a yellow polyline Cologne-Berlin-Amsterdam:
    echo "50.942878, 6.957936 random garbage words 52.521853, 13.413015 yellow spaces after the coordinate-comma is not important: 52.373520,4.899766" | mapcat 
  • draws a white transparently filled polygon Cologne-Berlin-Amsterdam note that a fill ("transparent" or "solid"):
    echo "50.942878, 6.957936 52.521853, 13.413015 52.373520,4.899766 blue transparent" | mapcat 
  • --invert-coordinates (-i) reverses the order of lat/lon:
    echo "13.413015, 52.521853" | mapcat -i 

Filling a polyline causes it to be drawn as closed polygon.

Random (for performance testing)

Draws a random polyline of a given length. The following command draws a random walk consisting of 20000 polylines of a random length between 1 and 10.

    echo "20000" | mapvat -p random

TTJson

Draws routes or ranges from the TomTom routing api.

curl 'https://api.tomtom.com/routing/1...' | mapcat -p ttjson -c green