[Проект] Sofia Traffic API

  1. Sofia Traffic API

    Мотивация за проекта:

    Неточността на системата на Център за Градска Мобилност, изразяваща се в постоянно променящото се време за очакване на превозно средство и разликата между разписанието и действителното пристигане. Също така и липсата на структурирано и лесно ползваемо API, което да е публично достъпно.

    Част Първа:

    Извличане на структурата и връзката между спирки, превозни средства и маршрути(посоки). Също извличането на точното разписание за делнични и празнични дни. Изграждане на метод за постоянно наблюдение на реалните данни (във формата на html), за това кога ще пристигне определено превозно средство на определена спирка, което няма структурна връзка с това за кога е трябвало да пристигне. Целта е да може за всичките стотици (потенциално хиляди?) спирки да може да се получава информация възможно най-бързо и да бъде poll-вано всеки x секунди, с цел създаването на голяма база от реални времеви данни. Тази част може да е като демон приложение за постоянното poll-ване и като приложение което се пуска от потребителя при евентуална промяна на схемата на градският транспорт(може би и автоматично да следи за промяна?) Структурата, която трябва да бъде извлечена може да се види ТУК

    Част Втора:

    Създаването на (REST?) API, за много по-лесна работа с тези данни и отварянето им към света. Представям си то да има функционалност:

    • По номер на спирка да дава превозните средства, които я обслужват
    • По номер на превозно средство и тип, да дава през кои спирки минава
    • Да връща лист на всички спирки
    • Да връща лист на всички превозни средва групирани по тип
    • Да има възможност за търсене по име на спирка (възможно и приближено)
    • Възможност за показване на времето за пристигане на превозните средство/а при подадена спирка или номер и тип на средството
    • [Insert други неща, за които в момента не се сещам, а са важни]

    Част Трета: (Ако стигне времето за това):

    Разширяване на API-то с call-ове, които не предават информация директно от ЦГМ, a събраната информация я подават на machine learning API (представям си нещо от Google Cloud Platform) и опитват да дават по-добри предположения за време базирано на много данни събрани с дните. Хипотетично може да е възможно при консистено закъснение при лош ежедневен трафик в пикови часове, да може да дава по-добро предположение за пристигането на следващото превозно средство.

    Notes:

    Това е работа за постоянно scape-ване и извливане на структура от html базиран отговор на към момента за мен не много познато за мен API (Поне към този момент съм го разучил и съм намерил начин за заобикаляне на Captcha защитата и начин за "леко" и "бързо" връщане на данни). Също така не е ясно какво натоварване ще може да издържи, и дали ще бъдат блокиран по някакъв начин от тяхната мрежа по време на разработка (Ако е така, ще трябва да добавям проксита)

Трябва да сте влезли в системата, за да може да отговаряте на теми.