Тайлы
Та́йлы (от англ. tiles — плитки) — в цифровой картографии жаргонное название тех квадратных растровых изображений равной величины, которыми, как плиткою, бывает вымощена поверхность отображаемой карты.
В этой статье рассматривается картографическое значение термина. В более широком смысле тайлами называются элементы любой тайловой компьютерной графики.
Предназначение тайлов[править | править код]
Каждый тайл является небольшим квадратным куском целой карты некоторого масштаба.
Разделение карты на тайлы позволяет при демонстрации карты скачивать с отдалённого сервера только те тайлы, которые в настоящий момент видны читателю карты, и подкачивать новые тайлы по мере того, как читатель движется вдоль карты или переменяет масштаб её. Тем экономится и время скачивания, и объёмы необходимых данных.
Размеры тайлов[править | править код]
Размер тайла обыкновенно составляет 256×256 пикселов. Этот размер был популяризирован сайтом Google Maps и применяется в настоящее время на большинстве сайтов с картами (OpenStreetMap, Яндекс.Карты, Bing Maps и др.).
Возможны отступления от этого обычая, вызванные необходимостью. Так, например, мобильные приложения CloudMade используют тайлы 64×64 пикселов, так как дороговизна и низкая скорость мобильного доступа к Интернету принуждает к более строгой экономии времени и объёмов данных.
Уровень увеличения[править | править код]
Масштаб тайлов обыкновенно определяется единственным целым числом, которое называется уровнем увеличения (англ. zoom level).
Масштаб подбирается таким образом, чтобы на нулевом уровне увеличения вся карта мира (в меркаторовской проекции) состояла из единственного тайла. Точку пересечения экватора и нулевого меридиана при этом располагают в центре тайла (то есть между четырёх наиболее центральных пикселов, потому что по ширине и по высоте тайл состоит из чётного числа пикселов).
Неизбежные особенности меркаторовской проекции приводят к тому, что наиболее полярные области находятся за северной и южной стороной квадрата-тайла нулевого уровня увеличения, так что их отображение не производится. Отсечение происходит по широте, равной 85,0511° (это арктангенс гиперболического синуса числа пи).
Западная и восточная сторона квадрата-тайла нулевого уровня увеличения соответствует 180° западной и восточной долготы соответственно.
Переход к каждому последующему уровню увеличения приводит к двукратному росту масштаба, с тем чтобы внутри одного тайла предыдущего уровня увеличения всегда находилось бы ровно четыре (2×2) тайла последующего уровня увеличения.
Единственный тайл нулевого уровня увеличения | ||
Четыре тайла первого уровня увеличения | ||
С ростом уровня увеличения общее число тех тайлов, на которые разделяется карта мира, возрастает как 4Z (22Z), где Z — уровень увеличения. Надо отметить, что чаще всего применяется обозначение уровня увеличения именно буквою Z, так как оно традиционно для оси аппликат и притом эта буква является первою в английском слове «zoom» («увеличение»).
Z | Масштаб на экваторе (метров/пиксел) |
Число тайлов |
---|---|---|
0 | 156543,03 | 1 |
1 | 78271,52 | 4 |
2 | 39135,76 | 16 |
3 | 19567,88 | 64 |
4 | 9783,94 | 256 |
5 | 4891,97 | 1024 |
6 | 2445,98 | 4096 |
7 | 1222,99 | 16 384 |
8 | 611,50 | 65 536 |
9 | 305,75 | 262 144 |
10 | 152,87 | 1 048 576 |
11 | 76,437 | 4 194 304 |
12 | 38,219 | 16 777 216 |
13 | 19,109 | 67 108 864 |
14 | 9,5546 | 268 435 456 |
15 | 4,7773 | 1 073 741 824 |
16 | 2,3887 | 4 294 967 296 |
17 | 1,1943 | 17 179 869 184 |
18 | 0,5972 | 68 719 476 736 |
Координаты тайлов[править | править код]
Наряду с целочисленным уровнем увеличения большинство сайтов с цифровыми картами употребляют также целочисленные координаты X и Y, которыми нумеруются тайлы по долготе (с запада на восток) и по широте (с севера на юг) соответственно.
Отсчёт такой координаты ведётся от нуля до (2Z−1). Тайл с координатами X=0 и Y=0 является, следовательно, наиболее северо-западным среди всех тайлов своего уровня увеличения, находится в северо-западном углу карты.
Внешние ссылки[править | править код]
- Статьи «Tiles» и «Slippy map tilenames» в вики OpenStreetMap