Ant Road Planner

Как сделать удобную пешеходную инфраструктуру

Автор: smirnovegorv Страница 20 из 21

Разрешение сетки и точность вычислений

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

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

result

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

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

Вот пример карты с высоким разрешением, на которой сейчас тестируется импорт из DXF (скоро-скоро он уже появится на вебсервисе, пока в урезанном виде):

result_18050

Несмотря на высокую плотность дорожек их направления четко прослеживаются.

Если разрешение обработанной карты вас не устраивает — присылайте ее мне на smirnov.egor.v@gmail.com (либо ссылку на карту на сервисе, либо geojson файл), я обсчитаю ее с максимальной детальностью.

Возможные проблемы с БД

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

UPD: удалил с полсотни карт с ошибками и просто бессмысленных, на какое-то время хватит. Но надо искать нормальное решение. Наверное придется автоматически удалять карты старше недели. Ну или пожертвования собирать.

UPD #2: база очищена целиком, удалены карты которым больше недели и которые либо не посчитались, не валидны, либо слишком примитивны. Такая чистка теперь будет проводиться ежедневно.

За нормальные карты (которые успешно посчитались, при этом на них есть более 2 генераторов и более 2 прочих объектов) пока можно не бояться, они в базе останутся.

Планы на будущее

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

Читать далее

Обновление 14 мая: генераторы в один клик

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

generators

Теперь расставлять подъезды домов будет намного быстрее.

Туториал на Habrahabr

Опубликована статья-туториал на Habrahabr, пошагово описывающая процесс рисования карты из предыдущего поста:

https://habrahabr.ru/post/282626/

UPD: почти 400 карт отправлены за сегодня на обработку, сервер молотит не переставая. Интересно было бы услышать отзывы тех, кто их отправлял: похоже ли предсказание алгоритма на реальность. Совсем идеально если с фотографиями и примерами. Писать можно на хабре, тут или слать на почту smirnov.egor.v@gmail.com

habraeffect

Обновление 12 мая

Небольшое обновление, добавляющее возможности по мониторингу использования сайта.

  1. Появилась страница со списком всех карт.
  2. Добавлена гугл-аналитика
  3. Исправлен баг  с неправильным отображением препятствия «дорога».

Пример карты: Петергофское шоссе

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

Эти карты можно использовать как рекомендации к рисованию своих собственных.

Итак, сегодняшний пример: Петергофское шоссе в Санкт-Петербурге, между Ленинским проспектом и проспектом маршала Жукова:

http://antroadplanner.herokuapp.com/tasks/taskstatus?jobId=5720d88ca9855a0003cc72b0

Совершенные при проектировании участка ошибки:

  1. Люди не хотят поворачивать на 90 градусов! В итоге газоны покрыты тропинками идущими по диагонали между основными генераторами — магазином Максидом (большое здание сверху) и остановками транспорта. Это, наверное, наиболее часто встречающаяся ошибка.
  2. Не хватает тротуаров. Это серьезная проблема данного района (не только рассматриваемого участка, а вообще всего Петергофского шоссе)  — отсутствие тротуаров вдоль него. В итоге мы видим что люди ходят по газон вдоль шоссе, как на снимке так и на результатах работы алгоритма.

На основании данной карты в скором времени будет опубликован еще один пост на хабре с инструкцией и приглашением на тестирование сервиса.

Обновление 20 апреля

Добавлена валидация карты.

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

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

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

Обновление 18 апреля

Теперь после отправки карты можно указать свой email адрес. После завершения симуляции на него придет извещение со ссылкой на страницу результатов.

subscribe.png

Проблема частично решена

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

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

Наконец рассчитаны карты  570f3c3624196c000322ae5f и 570f3c3724196c000322ae60

result

 

 

Страница 20 из 21