Ant Road Planner

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

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

Новый домен

Симулятор теперь доступен по адресу http://antroadplanner.ru !

Обновление 11 июля: фиксы в редакторе

Исправлено несколько ошибок, связанных с редактором:

  • Исправлена ссылка на главной странице
  • Исправлено редактирование загруженной карты (при импорте карты не учитывались последующие изменения, сделанные в редакторе)
  • Исправлено размещение генераторов, теперь их можно добавлять поверх других объектов.

Обновление 5 июля: новые возможности редактора

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

editor2

Например теперь вместо API Яндекс-карт используется библиотека Leaflet и карты Open Street Map. Были так же добавлены долгожданные новые возможности:

  • Импорт DXF. Чуть позже мы добавим подробную инструкцию по подготовке файла и настройкам импорта.
  • Рисование карты поверх произвольной подложки. Теперь можно загрузить любое изображение (любой чертеж или план) и использовать его в качестве задника вместо карты Земли.

Статья на Хабре про сложности импорта DXF чертежей

Формат DXF только выглядит простым, а на деле полон костылей и наворотов:

https://habrahabr.ru/post/301484/

ca772c33decd46cc85caa7c1bf88def6

Сейчас я занят переделкой кода редактора, новая версия будет работать на API Leaflet, использовать данные OSM, сможет редактировать карты не привязанные к местности (как DXF так и просто рисовать поверх загруженной картинки-подложки) и вообще будет очень крутой. Надеюсь.

Обновление 11 июня: исправление багов импорта

Поправлены некоторые баги в импортере карт, которые могли приводить к ошибкам при отправке карты из редактора.

Обновление 4 июня: улучшения редактора и новые типы генераторов

Данное обновление призвано упростить редактирование карт. В нем выполнены пожелания пользователей:

  • Исправлена граница карты, она теперь задается полилинией, а не полигоном. Теперь она не будет мешать редактировать остальные объекты
  • Генераторы разных типов теперь визуально отличаются цветом и размером
  • Добавлены хинты для объектов на карте. В следующем обновлении в них можно будет редактировать свойства.

Добавлены новые типы генераторов: истоки и стоки (термины из теории графов):

  • Из истоков пешеходы только выходят, но никогда в них не заходят
  • В стоки наоборот, только заходят.

Зачем это надо?

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

result

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

Благодаря этому можно получать более близкие к реальности результаты.

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

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

Почему-то веб-сервер, живущий на хостинге 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 прочих объектов) пока можно не бояться, они в базе останутся.

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