Upload
yandex
View
184
Download
0
Embed Size (px)
DESCRIPTION
Студенты технических специальностей изучают множество математических дисциплин, но далеко не всегда понимают, где их можно применить. Я расскажу, знание каких разделов математики необходимо при разработке сервисов Яндекса.
Citation preview
1
2
Как создаются
Яндекс.Карты
Алексей Чернигин
Я.Студент, Нижний Новгород
3
«Вот, говорят, путешествие — лучшее средство
образовать себя во всем: правда, точноправда! Как многому тут научишься».
Николай Гаврилович
Чернышевский
4
С чего все начиналось – 2004 год
5
Единая мировая карта – 2009 г
• Склеены воедино карты от разных поставщиков
• Выглядели как лоскутное одеяло
• Редко обновлялись, потому что поставщиками были
производители бумажных атласов, которые обновляли не
чаще раза в год
6
Начало производства карт – 2010 г
• Покупка ООО ―ГИС Технологии‖
• Производство карт руками – сложная и продолжительная
задача
• Народная карта
7
Спутниковые снимки
8
Солнечно-синхронная орбита
9
Спутниковые снимки
10
Артефакты и помехи на снимках
11
Подготовка спутниковых снимков
• Перепроецирование
• Цветокоррекция
• Склейка
• Привязка к географическим координатам
12
Привязка по GPS-трекам
13
Передача больших изображений
• Миллионы квадратных километров
• Сотни террабайт исходных данных
• Узкие каналы
• Проблема обновления
14
15
Разметка спутниковых снимков
16
Нераскрашенные векторные объекты
17
Раскрашенная карта
18
Расстановка подписей
19
Расстановка подписей
• Объект может быть подписан разными способами
• Подписи не должны пересекаться
• Подписи имеют различный вес
• Дополнительные ограничения
20
Задача из теории графов
• Задача о максимальном независимом множестве
• NP-трудная задача
• Решается с помощью эвристик и приближений
21
Редактирование данных
• Большой объем данных
• Одновременные правки
• Мгновенное отображение
• Отслеживание изменений
22
ArcGIS – круто, дорого, но не
помогает
23
Собственный редактор геоданных
• Доступ к спутниковым снимкам
• Инструменты для профессиональной картографии
• Одновременная правка
• Моментальное отображение
• Надежное хранилище
24
Народная карта
25
Публикация данных
• Многопользовательская среда
• Автоматическое управление системными ресурсами
• Выполнение на кластере, map-reduce
• Версионирование ресурсов
• Отказоустойчивость
• Мягкий перезапуск при обновлении ПО
26
Публикация данных – это просто
27
Мир не стоит на месте
• Нужна навигация
• Нужна локализация
• Нужны панорамы
• Нужна информация о дорожной ситуации
• Нужны подробные карты мира
• Нужно оперативно реагировать на изменение карт
• Нужно…
28
Геоинформационные сервисы
Панорамы ПробкиКарты
Спутниковые снимки Геопоиск Навигация
29
Как создаются сервисы
с точки зрения пользователя
30
Но все устроено намного сложнее
31
Пример: доступность сервисов
• Каждому сервису соответствует слой покрытия
• Каждый слой состоит из полигонов с дырками
• Геометрия полигонов не зависит от зума
• Каждому полигону соответствует набор метаданных
32
Надо уметь отвечать на вопросы• Доступен ли сервис в точке?
• Существует ли покрытие заданной точки каким-либополигоном?
• Доступен ли сервис хотя бы в одной точке некоторой
области?
• Пересекается ли заданная область с каким-либополигоном?
• Какие метаданные доступны в точке?
• Какой полигон покрывает данную точку?
33
R-деревья
• Пространственный индекс для
выполнения запросов по
геокоординатам
• В промежуточных узлах хранятся
минимальные ограничивающие
прямоугольники
• В терминальных узлах (листьях) хранятся полигоны целиком
• При быстром поиске нужного узла и
большом числе вершин в полигоне –
большое время работы
34
«Нарезка» исходных полигонов
35
Структура хранения покрытий
• Разбиение исходных полигонов на части прямыми линиями
параллельными осям координат
• Формирование бинарного дерева поиска
• В промежуточных узлах хранятся координата и
направление разреза
• В терминальных узлах хранятся либо части исходного
полигона
36
«Математика представляет искуснейшие
изобретения, способные удовлетворить
любознательность, облегчить ремѐсла и
уменьшить труд людей».
Рене Декарт
37
Спасибо за
внимание!