How to overlay GPS tracks on a map

  Linux

Задача довольно простая: на входе имеем много 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/services/tracks/tiles/{z}/{x}/{y}.png

Теперь можно добавить оверлей слой с треками в nakarte.me, результат тут.

Также тайлы можно запаковать в MBTiles:

$ yaourt --noconfirm -S mbutil
$ mb-util tiles tracks.mbtiles

Ссылки

  1. datamaps
  2. gpx-layer
  3. mbutil
      GIS



Kayaking along the Syas River

  Outdoor

August 2018.
Area: Leningrad Oblast.
Route: 179 km – 143 km.
Type: kayaking.
Duration: 5 days (04.08.18–08.08.18).
Distance: 84.3 km.
Moving time: 19 h 39 min.
Participants (3): Nikolay K., Timur K., Eugenia K.

Map

Links

   

Kilpola

  Outdoor

July 2018.
Area: Leningrad Oblast, Karelia.
Route: Beryozovo – Kilpola – Rullalahdenvuori.
Type: kayaking.
Duration: 2 days (14.07.18–15.07.18).
Distance: 19.5 km.
Moving time: 7 h 20 min.
Participants (5): Nikolay K., Timur K., Eugenia K., Igor K., Ludmila T.

Map

Links

   

Subscribe

Categories

Archive