This generates maps in the xcm format for XCSoar a tactical Gliding computer.
The Maps are layered out of a multitude of sources:
- terrain SRTM
- topology VMAP0
- Roads and Towns OSM
- Waypoints CUP format
- Airspaces OPENAIR format
To aid development and deployment an accompaning repositorty was created: XCSoar Mapgen Ansible
The ansible-role can be played back onto a Debian system in order to deploy mapgen. An alternative is the vagrantfile in that repository which allows you to download and install a vm, including provisioning of mapgen.
The frontend container contains the cherrypy based service and an nginx based reverse proxy for exposing the mapgen on port 9090 Both processes in the frontend container are started by supervisord.
Frontend produces job files that are put into a shared volume
/opt/mapgen/jobs/<jobid>.queued
This is the actual map builder, that takes the queued jobs in /opt/mapgen/jobs/jobid and starts processing all the *.queued jobs.
These are named volumes inside your docker service.
/opt/mapgen/jobs:
This is the job directory where all jobs get stored
/opt/mapgen/data:
This directory caches all the data from the data repository. WARNING: This volume can take up a lot of space (100GB).
Port 9090
The Following build variables can be set during build (optional):
- GITURL: The git url for the mapgen sources
- GITBRANCH: The branch name
in the current directory:
docker-compose build
or with options:
docker-compose build \
--build-arg=GITURL=https://github.com/myuser/mapgen/mapgen.git \
--build-arg=GITBRANCH=myfeature
docker-compose up -d