При проектировании нового магазина бывает очень важно знать, сколько людей живет поблизости. При строительстве нового жилого дома хорошо бы знать, какие объекты инфраструктуры (школы, магазины, транспорт) есть рядом. Рядом — то есть в пределах нескольких минут ходьбы (обычно 5-10).

Понять и посчитать это помогают изохроны — линии на карте, показывающие точки с одинаковым временем достижения из заданного места. Можно, например, построить пятиминутную изохрону и посчитать количество жилых домов внутри нее, чтобы оценить возможное количество клиентов для бизнеса в окрестностях предполагаемого места размещения магазина.

Пример карты изохрон с вики Open Street Map

Имея на руках информацию о движении пешеходов, полученную в результате симуляции, строить такие изохроны оказалось очень просто, поэтому мы добавили в наш сервис эту возможность. О том как ее использовать — далее под катом.

Как вообще строят изохроны?

Самый грубый способ — просто нарисовать кружок вокруг указанной точки с радиусом равным расстоянию, которое проходит средний человек за заданное время. Скорости разных категорий пешеходов можно найти в интернете, например вот тут. Понятно, что такой подход дает очень приблизительные результаты, ведь в него будут попадать и объекты, до которых идти дольше указанного времени из-за необходимости обходить препятствия.

Поэтому для повышения точности карту обрабатывают какими-нибудь алгоритмами поиска пути, которые ищут кратчайшие пути между точками, а затем считают время прохождения этих путей.

Но тут начинаются проблемы. Как именно оценивать проходимость разных видов зон?

Можно брать данные о дорогах из того же OSM или из проекта района для которого выполняется исследование и искать пути по дорожному графу. Но вот проблема: на картах обычно указаны только официальные дорожки с твердым покрытием. А как мы уже не раз показывали в этом блоге, люди ходят не только по дорожкам.

Красный маршрут от подъезда до входа в ТРЦ (снизу) идет по официальным дорожкам и имеет длину 330 метров. Синий маршрут идет напрямик по газону от угла проезда до набережной, в итоге всего 220 метров. 110 метров разницы это примерно полторы минуты пути, что уже может заметно повлиять на построенные изохроны.

Альтернатива — разрешать строить маршруты через газоны, но в таком случае для получения правдоподобной картины нужно откуда-то получить весовые коэффициенты для разных типов поверхности. У нас они уже есть — мы получили их путем множества экспериментов и сравнения результатов симуляции с действительностью, и мы можем быть уверены что наши значения достаточно неплохо соответствуют действительности.

Красная линия — прямой маршрут, однако пешеходы ходят по синей линии и более длинному пути, совмещая часть пути с потоком идущим на запад вдоль озера.

При этом наш алгоритм учитывает нюансы движения пешеходов, которые не сможет учесть наивный алгоритм поиска пути. Например тот факт что пешеходы не всегда ходят по кратчайшим путям, а стихийные тропы иногда сливаются и изгибаются под воздействием нескольких пешеходных потоков из разных точек.

Поскольку вся эта информация у нас уже есть, полученная в ходе симуляции, можно без проблем построить по ней изохроны, учитывающие психологию пешеходов.

Как пользоваться?

На панели инструментов в самом низу появилась новая кнопка.

Нажмите на нее и кликните по карте чтобы разместить специальный маркер. Отправьте карту как обычно с помощью большой зеленой кнопки. Если на карте присутствует этот маркер, то в архив с результатами (доступным для скачивания на странице состояния карты после окончания симуляции) будет добавлен файл isochrone.jpg наподобие вот такого:

Маркер был установлен у магазина (справа сверху). Видно что многоэтажный дом (слева снизу) уже не попадает в зону пятиминутной пешей доступности.

Каждая градация цвета соответствует увеличению времени ходьбы на одну минуту. На основании такого изображения можно сделать вывод о количестве объектов нужного типа в радиусе пешей доступности от заданной точки. Приглашаем пользоваться!