Ant Road Planner

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

Рубрика: Development Страница 4 из 5

Обновление 3 августа: новый дизайн

arp-color-kvadrat-256

Наш сайт обзавелся новым дизайном! Не то чтобы прошлая тема была плоха, но все-таки использовать дефолтный шаблон — это как-то несерьезно.

И заодно сделали себе логотип.

Обновление 22 июля: регистрация

Сегодня мы добавили к нашему симулятору возможность регистрации. Она открыта и бесплатна, можно либо создать новый аккаунт, либо войти через Google или Facebook.

login

 

Анонимный доступ к редактору оставлен, убирать его пока мы не планируем. На данный момент только зарегистрированные пользователи могут следить за списком своих карт и пользоваться импортом DXF. В дальнейшем мы добавим новые возможности.

 

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

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

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

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

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

editor2

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

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

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

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

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

ca772c33decd46cc85caa7c1bf88def6

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

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

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

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

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

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

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

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

result

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать далее

Страница 4 из 5