投影法・タイル・ズームレベル

Posted by kamataryo on July 06, 2020 · 10 mins read

投影法・タイル・ズームレベル

ウェブで使われる地図はタイルと呼ばれる分割された単位でデータが配信されます。これは Geolonia の地図も同じです。 メルカトル図法と呼ばれる投影法で球面である地球上の地物を平面に投影したあと、これを格子状に分割していくことで徐々に細かい単位のタイルを定めることができます。全世界のほとんど(※高緯度では投影した地図の歪みが激しいため、極域(例えば緯度 85 度以上など)を除外します)を 1 枚のタイルで表現したものをズームレベル 0、これを 4 分割したものをズームレベル 1、さらに 4 分割したものをズームレベル 2…、とすると、ズームレベル n に対して 2^2n のタイルの数がになります。表にすると以下のようになります。

ズームレベル タイル数
0 1
1 4
2 16
3 64
4 256
5 1024
6 4096
7 16384
8 65536
9 262144
10 1048576
11 4194304
12 16777216
13 67108864
14 268435456
15 1073741824
16 4294967296
17 17179869184
18 68719476736
19 274877906944
20 1099511627776
21 4398046511104
22 17592186044416
23 70368744177664
24 281474976710656
25 1125899906842620
26 4503599627370500
27 18014398509482000
28 72057594037927900
29 288230376151712000
30 1152921504606850000

タイルの実際の大きさ

メルカトル図法は高緯度地域ほど距離や面積が誇張される性質があるため、1 枚のタイルの実際の大きさがどのくらいになるのか、というのを考えるのは少し複雑です。メルカトル図法で投影した地図がどの程度歪んでいるのか、というのを実感するには、例えば次のツイートの方が作成された画像が参考になります。

緯度による歪みを考慮すると、タイル 1 辺の大きさは次のようになります。ここでは、タイルのより赤道に近い辺(北半球ならば南側の辺)の長さを示しています。

ズーム/緯度 0 10 20 30 40 50 60 70 80
1 20021.37km                
2 10010.68km             3641.25km  
3 5005.34km         3735.61km   1951.55km 917.17km
4 2502.67km     2319.26km   1884.1km 1401.35km 992.01km 467.27km
5 1251.34km   1227.52km 1160.42km 1061.27km 821.48km 703km 498.03km 234.73km
6 625.67km 622.66km 599.46km 557.13km 502.24km 411.02km 323.89km 227.64km 117.5km
7 312.83km 309.47km 295.23km 272.18km 243.72km 205.54km 161.98km 108.74km 56km
8 156.42km 154.14km 147.62km 136.09km 119.98km 100.88km 79.31km 54.38km 27.33km
9 78.21km 77.07km 73.5km 68.05km 59.99km 50.44km 39.24km 26.88km 13.67km
10 39.1km 38.53km 36.75km 33.92km 30km 25.22km 19.62km 13.44km 6.79km
11 19.55km 19.26km 18.38km 16.93km 15km 12.58km 9.78km 6.7km 3.4km
12 9.78km 9.63km 9.19km 8.47km 7.49km 6.29km 4.89km 3.35km 1.7km
13 4.89km 4.81km 4.59km 4.23km 3.75km 3.14km 2.44km 1.67km 849.04m
14 2.44km 2.41km 2.3km 2.12km 1.87km 1.57km 1.22km 835.98m 424.52m
15 1.22km 1.2km 1.15km 1.06km 936.19m 785.6m 611.02m 417.99m 212.22m
16 611m 601.73m 574.16m 529.16m 468.07m 392.77m 305.51m 208.98m 106.11m
17 305.5m 300.86m 287.08m 264.58m 234.03m 196.38m 152.76m 104.49m 53.05m
18 152.75m 150.43m 143.54m 132.29m 117.02m 98.19m 76.38m 52.24m 26.53m
19 76.38m 75.22m 71.77m 66.14m 58.51m 49.09m 38.19m 26.12m 13.26m
20 38.19m 37.61m 35.88m 33.07m 29.25m 24.55m 19.09m 13.06m 663.12cm
21 19.09m 18.8m 17.94m 16.54m 14.63m 12.27m 954.7cm 653.05cm 331.56cm
22 954.69cm 940.19cm 897.12cm 826.79cm 731.34cm 613.67cm 477.35cm 326.52cm 165.78cm
23 477.35cm 470.09cm 448.56cm 413.39cm 365.67cm 306.83cm 238.67cm 163.26cm 82.89cm
24 238.67cm 235.05cm 224.28cm 206.7cm 182.83cm 153.42cm 119.34cm 81.63cm 41.45cm
25 119.34cm 117.52cm 112.14cm 103.35cm 91.42cm 76.71cm 59.67cm 40.82cm 20.72cm
26 59.67cm 58.76cm 56.07cm 51.67cm 45.71cm 38.35cm 29.83cm 20.41cm 10.36cm
27 29.83cm 29.38cm 28.03cm 25.84cm 22.85cm 19.18cm 14.92cm 10.2cm 5.18cm
28 14.92cm 14.69cm 14.02cm 12.92cm 11.43cm 9.59cm 7.46cm 5.1cm 2.59cm
29 7.46cm 7.35cm 7.01cm 6.46cm 5.71cm 4.79cm 3.73cm 2.55cm 1.3cm
30 3.73cm 3.67cm 3.5cm 3.23cm 2.86cm 2.4cm 1.86cm 1.28cm 0.65cm

この値は次のスクリプトで算出しました。 https://gist.github.com/kamataryo/4987092fe1975dcf367ad7000858f834

緯度が 0 度付近の場所と 80 度付近の場所ではタイルの大きさに約 6 倍の差があるようですね。また、緯度 40 度と 20 度では 1.5 倍弱の差があります。 例えば札幌の緯度が 43 度、那覇が 26 度なので、北海道と沖縄では、ウェブ地図上での見た目の距離や面積は実際のものと相当差があることが分かります。

タイルの大きさを地図上で確認してみる

次のウェブアプリを使うと、Geolonia の地図上でタイルのグリッドを表示し、実際の大きさを確認することができます。 タイルのズームレベルと大きさを確認したい方はぜひアクセスしてみて下さい。

https://geolonia.github.io/vector-grids/

Grid app



Geolonia では、ウェブ地図や位置情報を利用したウェブアプリケーションや、モバイルアプリケーションの開発を承っています。

お問い合わせ