Задача довольно простая: на входе имеем много GPS треков, на выходе хотим получить набор растровых тайлов, готовых для использования в качестве оверлей слоя поверх OSM карты. Для этого воспользуемся утилитами Эрика Фишера datamaps.
Устанавливаем необходимые пакеты (archlinux):
$ yaourt --noconfirm -S datamaps-git pngquant
Далее парсим треки:
$ find tracks -name '*.gpx' -print0 | \
xargs -0 datamaps-parse-gpx | \
awk '{print $1,$2,":350"}' | \
datamaps-encode -z20 -m8 -o datamaps/gpx.dm
И рендерим тайлы:
$ datamaps-enumerate -s -z18 datamaps/gpx.dm | \
xargs -L1 -P8 bash -c 'mkdir -p tiles/$1/$2; \
datamaps-render -B 13:1:1.23 -L3 -g -t0 -C50 $0 $1 $2 $3 | \
pngquant 256 > tiles/$1/$2/$3.png'
Рендеринг займет много времени, можно пойти попить кофе.
В документации к утилитам более чем подробно описано назначение всех параметров. Единственно поясню, что awk '{print $1,$2,":350"}'
при парсинге необходим чтобы сделать все треки одного цвета - пурпурными.
Загружаем готовые тайлы на серевер, в моём случае тайлы доступны по ссылке:
https://tiles.sikmir.ru/{z}/{x}/{y}.png
Теперь можно добавить оверлей слой с треками в nakarte.me, результат тут.
Также тайлы можно запаковать в MBTiles:
$ yaourt --noconfirm -S mbutil
$ mb-util tiles tracks.mbtiles