Яндекс.
Карты — высоконагруженный картографический портал, работающий с огромными объемами данных.
В своей лекции Владимир Зайцев рассказывает старшеклассникам - слушателям Малого ШАД - о том, как создавать и поддерживать такие ресурсы, и о технологиях, которые для этого используются.
Он также объясняет на примерах, какие инструменты можно разработать и провести исследования на основе полученных данных.
Попробуем разобраться, что такое Яндекс.
Карты, как если бы мы о них ничего не знали и слышали о них впервые.
Если посмотреть на них в целом, то это большой сайт, содержащий несколько сервисов:
- Спутниковые снимки и карта
- Народная карта
- Поиск
- Пробки
- Роутер и навигация
- Панорамы
- API
Спутниковые снимки и карта
Конечно, все начинается с карты.Давайте представим, что мы рассказываем нашему другу, как добраться до вашей дачи.
Что ж, мы нарисовали небольшую карту, по которой он сможет следовать от поезда до вашего дома.
Он прошёлся по этой собаке и записал GPS-трек.
Если потом попытаться нанести этот трек на карту, ничего хорошего из этого не выйдет, они просто не совпадут. Как создать карту, которая бы соответствовала реальному GPS-треку? Например, мы используем лазерный дальномер для измерения расстояний до различных точек на местности от разных точек и используем компас для расчета азимутов.
При должной точности измерений у нас уже есть некоторый шанс, что после наложения мы получим достаточно точную карту, которая будет совпадать с GPS-треком.
Но если этот метод использовать для создания карт большего размера, процесс будет слишком трудоемким и трудоемким.
Поэтому сегодня для этих целей используются более технологичные решения.
Например, спутниковая фотография.
Спутники летают над Землей на высоте 200-500 километров и фотографируют с помощью следующих объективов:
Спутник вращается вокруг Земли, а наша планета вращается вокруг своей оси, поэтому если спроецировать траекторию спутника на его поверхность, то получится синусоидальная волна.
В этом случае траектория спутника будет немного смещаться с каждым оборотом, так что после определенного количества витков можно будет сфотографировать всю поверхность Земли.
Но есть две проблемы.
Во-первых, полеты над некоторыми территориями обязательно будут происходить в ночное время.
А ночные спутниковые снимки имеют исключительно эстетическую ценность; они бессмысленны для картографии.
Это необходимо учитывать и снимать только освещенные части, для которых может потребоваться больше пролетов.
Вторая проблема – облачность.
Если во время съемок часть города будет закрыта облаками, то нам придется снимать эту часть заново при следующем прохождении над ним спутника.
Но если в следующий раз спутник пролетит над этим городом в другое время, тени будут направлены совсем в другую сторону.
А если объединить две фотографии, то возникнет ощущение диссонанса.
Поэтому такие спутники летают на солнечно-синхронной орбите, устроенной таким образом, что каждый пролет спутника над определенной территорией происходит в одно и то же местное время.
Итак, мы сфотографировали, склеили фотографии вместе и получили один большой холст с высоким разрешением.
Но съемка велась с одной точки, поэтому некоторые ракурсы будут искажены.
Чтобы компенсировать искажения, необходимо перепроецировать все изображение.
Сделайте так, чтобы все фотографии были сделаны именно над этой точкой.
Есть еще одна проблема со спутниковой съемкой.
Мы хотим получить цветные фотографии, но при прохождении через атмосферу световые лучи разных спектров преломляются по-разному.
Поэтому сделать из космоса цветное изображение высокого разрешения невозможно.
Делаются две фотографии.
Один черно-белый, высокого разрешения, а второй меньшего разрешения, но цветной.
Цветная фотография затем растягивается и применяется в качестве текстуры к черно-белой фотографии.
Это становится заметно, когда в кадр попадают быстродвижущиеся объекты, например, самолеты.
Итак, мы провели съемку, цветокоррекцию и другие необходимые манипуляции, сохранили все эти терабайты данных в хранилище и сделали на их основе карты.
Но почему бы не предоставить пользователям сами спутниковые снимки.
Ведь смотреть на них тоже полезно и интересно.
Эта функция появилась на Яндекс.
Картах в 2004 году.
Интернет тогда был медленнее, чем сейчас, и передавать большие объемы данных было не так просто.
Поэтому большие картинки были разбиты на плитки, умещающиеся ровно на одном экране пользователя.
Но вернемся к самим картам.
Допустим, мы смогли отметить на картинках дороги, дома и подписать адреса.
В результате мы получим вот такую картину:
Теперь нам нужно раскрасить эту карту.
Если раскрасить кварталы, дома, дороги и водоёмы в разные цвета, то получим вот это:
Это не так уж и плохо, но мы хотим добиться совсем другого результата:
Фактически перед нами стоит сразу несколько задач.
Сначала из всего многообразия объектов выберите наиболее значимые и в зависимости от масштаба добавьте или удалите менее значимые.
Кроме того, немало пользователей с искажениями зрения: такими заболеваниями страдают примерно десять процентов мужчин.
И это тоже нужно учитывать.
На картинке ниже вы можете увидеть, как видят карту люди, страдающие дальтонизмом:
Как видите, карта остается вполне читаемой, поскольку цветовая палитра специально подобрана таким образом, чтобы цвета не сливались с наиболее распространенными искажениями зрительного восприятия.
Еще один момент, который следует учитывать при выборе цветовой палитры: карты часто печатаются на черно-белых принтерах, а монохромная карта также должна оставаться читаемой:
Народная карта
Россия – огромная страна.Составление подробной карты всей ее территории требует огромных ресурсов.
Поэтому было решено предоставить пользователям возможность самостоятельно отмечать те участки, где детализация карт недостаточна.
Для этого необходимо было реализовать следующие функции:
- доступ к спутниковым изображениям;
- инструмент для рисования и подписи;
- одновременное редактирование;
- мгновенный показ;
- надежность хранения.
А когда была реализована функция онлайн-рендеринга, появилась идея отображения информации о дорожных условиях на карте.
Пробки
Я уже подробно рассказывал о том, как работает Яндекс.Трафик у меня.
лекции Леонид Медников, ну общее представление можно получить из этой картинки:
осмотрев лекция В конце вы узнаете, как работают не менее интересные компоненты Яндекс.
Карт: маршрутизация, Панорамы и API. Теги: #Яндекс.
карты #пробки #Геоинформационные сервисы #навигатор #панорамы
-
Увольнение.
19 Oct, 24