Вступление
Именно такое определение можно встретить первым результатом по запросу «аналитика» в поисковике.
По роду же своей профессиональной деятельности (разработка прикладного программного обеспечения) часто приходится сталкиваться с дебатами про бизнес-аналитиков, системных аналитиков и т.д. Слушать дискуссии кто есть кто, что должен уметь каждый.
Как по мне, так любой аналитик - это человек, который может собрать массив информации в одном формате, отбросить лишнее, выделить важное, найти общие закономерности и сделать какие-то выводы уже в другом нужном формате. А остальные слова рядом с «аналитик» принципиально влияют только на виды информации, которую получают в начале и должны предоставить в конце. Кто-то собирает «хотелки» и формирует продукты компании, кто-то преобразовывает эти продукты в нужное формализованное поведение, которое уже может быть реализовано различными алгоритмами и появиться в виде того самого прикладного программного обеспечения.
Давайте попробуем немного побыть «фото-гео-аналитиком».
Предыстория
В одном из чатов на шутку про Останкинскую башню, была прислана фотография с сообщением «Вот башня», которая только что была сделана из окна.
Достаточно ли у нас исходных данных, чтобы определить адрес здания, из которого была сделана фотография в первой половине дня? И второй немаловажный аспект: разумно ли время, которое придется потратить на решение такой задачи?
Большинство людей почему-то отвечают на данные вопросы отрицательно. Ну и еще удивляются, если озвучить, что решение потребовало примерно 15 минут и пару общедоступных интернет-сервисов.
Тоже не согласны? Ну давайте поработаем аналитиком.
Отбросить лишнее
В данной задаче менее важная часть процесса, с учетом поставленной цели. Если задача будет решена в разумные сроки, то не столь критично, если мы «что-то проигнорируем». Если, конечно, это не GPS координаты в метаинформации файла или табличка с адресом здания напротив, которые позволят найти решение за одну минуту, вместо двух дней.
Тут проще действовать из принципа: все что не выделили для дальнейшего анализа, то считаем лишним. Провода между зданиями уже не ноу-хау, среди деревьев многовекового дуба не наблюдается.
Выделить важное
Останкинская башня. Основной участник событий. Она одна и она в Москве. Город - это уже хорошо, говорят “Москва не резиновая”, но и не маленькая. Интернет сообщает, что высота башни порядка 540 метров или 120 «эквивалентных» этажей. Я не знаю способ определить удаленность в таких условиях точнее, чем «ну пара-тройка километров по прямой». Хотя позже встречал методы относительно точных расчетов, если известно фокусное расстояние, разрешение, физические размеры матрицы фотоаппарата.
Здания. На переднем плане у нас их два. Слева что-то из советского времени и выглядит этажей на девять. Справа кирпич, четырехскатная крыша, выходы с чердака, металлические ограждения, жестяные внешние водоотводы по углам здания, «карнизы перед крышей» (не уверен, что корректное название). Суммарно тоже создает впечатление советского времени постройки только в виде пятиэтажного здания.
На заднем плане есть высотки. Справа три «близнеца», слева высотка поменьше, но где-то в том же комплексе. С какими-то «числами» ситуация похуже Останкинской башни. Тут понятно, что они будут ниже её ну и где-то поближе относительно точки съемки.
Автомобили. Я заметил четыре и достаточно близко. Может быть и проезжей частью в три/четыре полосы, и запаркованной дворовой территорией, стоянкой. Но справа можно увидеть какой-то логотип, намек на спецсигнал и стрелу манипулятора. Если в поисковике набрать «москва эвакуатор минтранс», то фотографии таких зеленых MAN с надписью «Московский паркинг» будет очень много. Вероятно, что это проезжая часть. Расстояние до «пятиэтажки» тоже достаточное, чтоб допускать вариант с улицей.
«Мало ли улиц в Москве?» - хороший повод усомниться в важности этих данных. Но у нас есть еще фонарь уличного освещения и значительное расстояние между «пятиэтажкой» и «девятиэтажкой». И суммарно это дает повод допустить, что есть перекресток. Да, их тоже не мало в Москве, но явно меньше, чем улиц (ведь один перекресток - это минимум две улицы).
Найти общие закономерности
Что общего между советской пятиэтажкой, эвакуатором, Останкинской башней, четыремя высотками и дорожным фонарем? Звучит, как типичный вопрос из интернет-теста «Какой ты шизофреник?».
Но если попробовать применить накопленный жизненный опыт, то можно вспомнить о триангуляции. И её частный случай использования в мобильной связи. «У меня отключен GPS, как телефон знает местоположение?» - это как раз оно. Грубо говоря, чтобы определить местоположение телефона нужны данные по удаленности от трех сотовых вышек.
Сотовые вышки мы, конечно же, искать не будем, но «применимость» - это и не про прямое использование какой-то теории. Давайте возьмем только основу алгоритма: три точки отсчета и расстояние до них.
Три точки отсчета. Главный претендент - это Останкинская башня, осталось найти еще две. Пара высоток на дальнем плане образует некий «створ» для Останкинской башни, но для выполнения роли точек отсчета нам не известно их местоположение.
«…в первой половине дня?» важная информация, которую мы еще не использовали. Пока солнце стабильно продолжает восходить на востоке, мы можем поискать на картах группу подходящих высоток в сторону юго-запада от башни, ограничив удаленность парой километров. И достаточно быстро можно обнаружить ЖК «Савеловский Сити», который как раз включает в себя башни Whiteman, Ellington, Coltrane, Armstrong.
Точки отсчета есть, но что делать с удаленностью от них все еще вопрос. А ничего, смириться, обнять колени руками
и начинать плакать… скорректировать алгоритм под наши потребности.
Есть три точки и отношение между ними, значит можно построить достаточно точный вектор в сторону искомого объекта. Банально приложив линейку к монитору можно посчитать, что Останкинская башня располагается «ближе к левой высотке» процентов на 10. Включаем уже линейку на карте, находим расстояние между высотками на максимальном приближении, потом определяем точку позиционирования примерно в 55% от башни Whiteman. И тем же инструментом «линейка» откладываем прямую от Останкинской башни, через рассчитанную нами точку позиционирования, километров на 6-7. У меня получилось примерно так.
Финишная прямая. Включаем панорамы улиц и просматриваем места где построенная нами прямая либо пересекает перекрестки, либо проходит к ним достаточно близко. При этом нас интересуют не особо широкие улицы.
Итог
Через 15 минут я в чат написал шутку про вид на останкинскую башню с расстояния .* км и выбор здания, где есть **********. Автор фотографии и участник чата, который в курсе адреса, отреагировали удивленными смайликами. Кто-то уточнял смысл данных фраз уже на созвоне следующего дня, а я написал эту статью, как способ отвлечься от рутины трудовых будней нового проекта.
P.S. А вы вычислили адрес? Или может быть знаете способ оптимизации описанного решения? Буду рад увидеть ответы в комментариях, как и любую конструктивную обратную связь.
Изображения в заголовке статьи используются с официального сайта Останкинской телебашни .