Проекція
Щоб зробити карту безшовною і забезпечити правильне накладення даних з різних джерел, потрібно використовувати одну проекцію для всієї планети. Ми використовуємо проекцію Меркатора на сфері для спрощення розрахунків, оскільки в цьому випадку потрібне тільки відображення карти, а не визначення координат.
Позаяк проекція Меркатора на полюсах прямує до нескінченності, то в дійсності вона покриває не всю планету, а обмежує широтою +/- 85.051129 градусів.
Також цю проекцію називають веб-Меркатор, вона використовується основними постачальниками веб-карт, включаючи Google Maps, Bing Maps, OpenStreetMap, Esri, Mapbox і багатьма іншими.
Проекція має ідентифікатор EPSG: 3857.
Размір карти і масштаб
Для відтворення карти необхідно знати її розмір або масштаб. На найнижчому рівні деталізації (рівень 0) карта має розмір 256 х 256 пікселів, на кожному наступному рівні ширина і висота карти збільшується в 2 рази: рівень 1 становить 512 х 512 пікселів, рівень 2 — 1024 х 1024 пікселів, і так далі. У загальному випадку розміри розраховуються так:
map_w = map_h = 256 * 2 ^ z
де z в нашій системі може мати значення від 0 до 19.
Радіус сфери в проекції Меркатора приймається 6378137 метрів, тоді знаючи розміри карти можна отримати дозвіл в метрах на піксель і далі — масштаб карти.
У наведеній нижче таблиці показані співвідношення між цими величинами на екваторі.
Рівень | Ширина і висота (пікс.) | Роздільна здатність (м/пікс.) | Масштаб |
---|---|---|---|
0 | 256 | 156543,0339 | 1:591658710,91 |
1 | 512 | 78271,5170 | 1:295829355,45 |
2 | 1024 | 39135,7585 | 1:147914677,73 |
3 | 2048 | 19567,8792 | 1:73957338,86 |
4 | 4096 | 9783,9396 | 1:36978669,43 |
5 | 8192 | 4891,9698 | 1:18489334,72 |
6 | 16384 | 2445,9849 | 1:9244667,36 |
7 | 32768 | 1222,9925 | 1:4622333,68 |
8 | 65536 | 611,4962 | 1:2311166,84 |
9 | 131072 | 305,7481 | 1:1155583,42 |
10 | 262144 | 152,8741 | 1:577791,71 |
11 | 524288 | 76,4370 | 1:288895,85 |
12 | 1048576 | 38,2185 | 1:144447,93 |
13 | 2097152 | 19,1093 | 1:72223,96 |
14 | 4194304 | 9,5546 | 1:36111,98 |
15 | 8388608 | 4,7773 | 1:18055,99 |
16 | 16777216 | 2,3887 | 1:9028,00 |
17 | 33554432 | 1,1943 | 1:4514,00 |
18 | 67108864 | 0,5972 | 1:2257,00 |
19 | 134217728 | 0,2986 | 1:1128,50 |