1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

stravaからglobal heat mapのデータを頂く

Last updated at Posted at 2019-09-11

動機

自転車乗りにとって今年一番ではないかと思われるビッグニュース
ルートラボ終了のお知らせ

代替サービスをいろいろ探していますが、
実験の意味も含めて、自分でルート検索サービスを作ってみるのも面白そうだな、と。
で、以下のblogを発見、真似してみることにしました。
ちゃりラボblog - Strava heatmapを使ったOSRM最適化

まずは Heatmap の取得から...

stravaからglobal heat mapのデータを頂く

URLが変わっています。
新しいURLはこちら。
https://heatmap-external-b.strava.com/tiles/ride/hot/1/0/0.png

フォーマットは
https://heatmap-external-b.strava.com/tiles/ {移動手段} / {色} / {Zoom} / {x} / {y}.png

移動手段には ride / run / both / water / all などが選べます。
色は hot / blue など
Strava Global Heatmap
をいじると選択肢がわかると思います
(URLの変化に注目してください)

Zoomは1から11までOK。
12以上を指定すると

authentication is now required for data access beyond zoom level 12, please login to strava.com and then visit /auth

と叱られます。
authすればいいのですが、今回は zoom = 11 を使うこととします。

x と y はタイルの index です
例えば、zoom = 1 ならば、世界は4分割なので、

x = {0, 1}
y = {0, 1}

の範囲が有効な index となります。

欲しい場所の index を調べる

じゃ、彩湖はどこなの?
となった時に手探りで値を探すのは大変!!
でもいいページを見つけました。
osrmのタイルサービスのデモページ

赤い線で区切られた区画ごとに zoom/x/y が記述されています。
この値を Strava Heatmap のURLに適用すると、その場所にヒートマップ(png画像)が取得できます。
便利!

はい、彩湖です
https://heatmap-external-b.strava.com/tiles/ride/hot/11/1818/805.png?px=512

複数のタイルを取得して大きな地図を作ってみる

タイル一枚一枚ではなく、広い範囲を取得して、つなげて大きな地図が欲しくなりますよね。
curlとImageMagickで簡単にできました。
便利な世の中です。

1. ImageMagickをインストール

$ sudo apt-get -y install imagemagick
$ which convert
/usr/bin/convert

2. 手動で連結

$ ls
test_1817.png  test_1819.png test_1816.png  test_1818.png  test_1820.png

$ convert +append *.png concat.png

3. 自動で連結

$ for y in {800..810} ; do
> for x in {1810..1825} ; do
> curl https://heatmap-external-b.strava.com/tiles/ride/hot/11/${x}/${y}.png?px=512 > test_${x}.png
> done
> mkdir ${y} ; convert +append *.png ${y}/${y}.png
> done
$ convert -append */*.png map.png

これで、Heatmapを入手できるようになりました。

次はルーティングエンジンの準備ですね
まて次号

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?