Create vector line (world) maps suitable for pen plotters. Data sources include GEBCO elevation data and OpenStreetMap coastlines.
Warning
This project is still work in progress and does not yet work out of the box
- Postgres including postGIS
- Python >= 3.12
- ~30 GB of disk space
- psycopg requires libpq
-
Create a new postgres database and enable postGIS.
-
Enter the database URI to the config file
configs/config.toml
-
Download the Hershey font file:
curl https://gitlab.com/oskay/svg-fonts/-/raw/master/fonts/Hershey/HersheySans1.svg --create-dirs -o fonts/HersheySans1.svg
-
Build a map with a rather small config file:
python3 lineworld/run.py
This may take a while to download the GEBCO elevation data. -
Convert the output SVG to gcode files, layer by layer:
python3 svgtogcode.py Lineworld750x500.svg
You can find more info in a blog post about how this came to be: A Giant Map drawn with a Pen