Сегодня на сервисе Яндекс.Карты появились панорамы улиц Санкт-Петербурга и его спутников - Кронштадта, Гатчины, Петродворца, Пушкина, Павловска и Выборга. Немного статистики: это 1270 километров улиц, 242 472 фотографии, из которых получилось 60 618 панорам.
Нас не раз просили рассказать о том, как мы делаем панорамы и, кажется, запуск панорам Петербурга – отличный повод для этого. Сначала составляется примерный план съемок – центр города, важные или интересные места на окраинах, наиболее популярные пригороды.
Съемка происходит так. На крышу машины, оснащенной GPS, устанавливается специальное устройство с четырьмя фотокамерами с разрешением не менее 10 мегапикселей. Дальше машина на низкой скорости двигается по намеченному маршруту, и через каждые 20-30 метров все четыре фотокамеры одновременно делают снимки – поэтому на панорамах можно смотреть в любом направлении.
Лучше всего на панорамах выглядят улицы без пробок и в хорошую погоду. Поэтому фотографы стараются выбирать для съемки солнечные дни и выезжают ранним утром, когда на дорогах еще не так много машин. Увы, так бывает не всегда и из-за плохой погоды иногда получается снимать всего час-полтора в день. Иногда на панорамах можно увидеть, как менялась погода – например, на перекрестке улицы Белинского и набережной Фонтанки ясно, а одним снимком дальше - прошел дождь. На съемки в Санкт-Петербурге ушло около трех недель. В идеальных условиях – если бы все время светило солнце – времени бы понадобилось куда меньше.
После окончания съемки из исходных фотографий нужно собрать панорамы. Для нашего проекта они склеиваются автоматически (напомним, панорам - десятки тысяч). Для каждой панорамы указываются координаты и направление съемки (именно для этого машина и оснащена GPS). Эта информация нужна, чтобы автоматически расставить связи между панорамами. При этом часть панорам отбраковывается из-за неправильных курсов движения или ошибок gps-позиционирования.
Чтобы загрузка панорам для пользователя была максимально быстрой, мы загружаем не всю панораму целиком, а только видимый фрагмент. Для этого панорамы разрезаются на небольшие квадраты – тайлы. Размер одного тайла - 256 на 256 пикселей.
Так как исходные фотографии очень высокого качества, то для того чтобы пользователь мог разглядеть панораму в деталях, мы ввели три уровня подробности. Можно приблизить изображение, и тогда подгружаются тайлы следующего уровня. Для каждого уровня создается собственный набор тайлов.
Чтобы на панорамах было проще ориентироваться, на них расставлены таблички с номерами домов. Поскольку мы знаем координаты центра панорам и направление обзора, мы можем с помощью карты автоматически определить дома, находящиеся в поле зрения, и отметить их на панорамах. Кстати, отмечены не только адреса домов, но и выходы из метро, вокзалы и аэропорты.
После того как панорамы склеены, размечены и привязаны к карте, всё готово к публикации. Наслаждайтесь!
Команда Яндекс.Карт, с любовью к Петербургу