Сергей Константинов "Координаты, слои и тайлы в api...
DESCRIPTION
APIшник Яндекс.Карт, Москва, 26.04.2012 Рассказ, Сергея Константинова (руководителя группы разработки алгоритмов API Яндекс.Карт) о геокоординатах, тайлах, слоях и о том, как использовать API 2.0 для отображения собственной карты.TRANSCRIPT
Координаты, слои и тайлыв API 2.0
Сергей Константинов,руководитель группы разработки алгоритмов API Яндекс.Карт
APIшник Яндекс.Карт, Москва, 26 апреля 2012
Координаты на сфере
1
В геодезии принято использовать
сферическую систему координат:
— φ (широта)
— λ (долгота)
Земля — не шар, а более сложное тело,
больше всего похожее на эллипсоид
вращения.
Мы используем
стандарт WGS84:
— a = 6 378 137 м
— b = 6 356 752 м
Координаты на геоиде
2
— Сферу нельзя развернуть на плоскость
— с сохранением геометрии объектов
— Все проекции
— искажают карту
Координаты на плоскости
3
— Географические координаты проецируются
— на декартову плоскость
— Декартовы координаты переводятся
— в пиксельные
Координаты в пиксельном мире
4
— Карта режется на тайлы
— Нулевым считается масштаб,
— при котором весь мир
— попадает в 1 тайл
Тайлы
5
— Бесконечная пиксельная плоскость
— Размеры «мира» на нулевом масштабе —
— 256×256 пикселей
— Лента миров может быть склеена по любой
— из осей, или по обеим сразу
— Преобразование геодезических координат
— в пиксельные через специальный объект
Пиксельный мир API 2.0
6
IProjection
7
fromGlobalPixels(point, zoom)toGlobalPixels(coords, zoom)isCycled()
Можно пользоваться:
ymaps.projection.wgs84Mercatorymaps.projection.sphericalMercator
Можно инстанцировать:
new ymaps.projection.Cartesian()
Как это может пригодиться?
8
Как это может пригодиться?
9
Как это может пригодиться?
10
11
Каким объектам можно задатьсобственную проекцию?
— Карте— Геообъектам— Слоям
map.layers.add(new ymaps.Layer( function (tile, zoom) { return 'http://a.tile.openstreetmap.org/' + [zoom, tile[0], tile[1]].join('/') + '.png'; }, { projection: ymaps.projection.sphericalMercator });
Итого
12
1. Выбираем геодезическую систему
2. Проецируем на плоскость
3. Режем на тайлы3
— YMapTiler
— http://clck.ru/1-olX
— GMapUploader
— http://gmapuploader.com
— И другие
А если я не умею резать тайлы?
13