Проблема решена

Вычисления продолжаются, заодно была повышена их точность.

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

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

Проблемы с сервером вычислений

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

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

Я пока ищу решение проблемы. До тех пор если ваша карта долго висит и не считается – пишите мне в комментариях или на smirnov.egor.v@gmail.com, я посчитаю ее вручную у себя.

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

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

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

result

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

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

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

result_18050

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

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

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

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

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

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

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

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

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

Обновление 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. Не хватает тротуаров. Это серьезная проблема данного района (не только рассматриваемого участка, а вообще всего Петергофского шоссе)  – отсутствие тротуаров вдоль него. В итоге мы видим что люди ходят по газон вдоль шоссе, как на снимке так и на результатах работы алгоритма.

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