背景
ウェブ地図ではズームレベルと縮尺との関係を議論することがあります。
画面が紙をどう再現しているかということで議論する時代は終わりました。ディスプレイのピクセルピッチ (0.28 とか) を考慮して、「画面に定規を当てたら、何分の1になるのか」を議論するのはもはやナンセンスでしょう。
なぜならば、画面と眼球との関係は、紙面と眼球との関係とは違うからです。
さらに、画像タイルの時代とベクトルタイルの時代との間で、画面にどれだけ線画を詰め込むかという流行も変わりました。フラットデザインのころからだと思いますが、なるべく間の開いた感じにして、線のエッジをそれほど立たせずに、詳細の情報は深めのズームに入れています。
ベクトルタイルが主流化した段階では、オーバーズームのコストが下がるので、深めの表示ズームレベルが多用されるようになりました。結果として、ズームレベル18で全てを書き込み、ごたごたした地図を見ていただく、ということが少なくなったように思います。
ズームレベルと名目縮尺との関係(主観)
ベクトルタイル主流化後の、ズームレベルと縮尺との関係は、私はこんな感じだと思っています。
- z=22 で 1:75
- z=21 で 1:150
- z=20 で 1:300
- z=19 で 1:600
- z=18 で 1:1250
- z=17 で 1:2500
- z=16 で 1:5000
- z=15 で 1:10000
- z=14 で 1:20000
- z=13 で 1:40000
- z=12 で 1:100000
- z=11 で 1:200000
- z=10 で 1:400000
- z=9 で 1:1000000
- z=8 で 1:2000000
- z=7 で 1:4000000
- z=6 で 1:8000000
- z=5 で 1:15000000
- z=4 で 1:30000000
- z=3 で 1:60000000
- z=2 で 1:100000000(1億分の1の地球儀が直径13cmですね。)
- z=1 で 1:200000000
- z=0 で 1:400000000
Mapbox GL JS で思いっきりひいたとき、ズームレベルは 0.68 とかで止まるようです。
上記の感触に2倍以内の調整をかけて、全体のデザインと合わせて考えていく、ということを私はしているような気がします。ベクトルタイル技術的に、詰まったデザインのよりも間の開いたデザインのほうが性能を確保しやすいこともあり、かなり間を開け気味でやる気がします。
間を開け気味のデザインのほうが、デバイス的にも、人間的にも、帯域的にも、ユニバーサルなデザインになりやすい傾向があると思っています。
結果として、ベクトルタイルは、データズームレベルの底は浅目に、表示ズームレベルの底は深めに、ということでもあります。
追記
- Mapbox GL JS の maxZoom のデフォルトは 22 で、理論的最大は 24 です。z = 24 は、ざっくり 1:20 だとか 1:10 だとかを意味することになるのかもしれません。つまり、現在の技術では、ラジコンカー程度までの世界の縮図表現が可能だけれども、縮尺 1:1 だとか、さらには世界の拡大図だとかを表現するには、実は Mapbox GL JS の現在の実装は向いていないということになると思います。