Skip to content

Второй проект в рамках курса: транспортный справочник.

Notifications You must be signed in to change notification settings

YaDanilamaster/Transport-catalogue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Транспортный справочник

Второй проект в рамках курса: транспортный справочник.

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

Пример SVG-изображения для карты маршрутов

cpp-transport-catalogue

Проект реализован в виде консольного приложения, с версией C++17. Использованы STL, Protobuf, SVG и JSON

Программа работает в двух режимах:

  • make_base - режим формирования базы данных и ее сохранение в бинарный файл. Сериализация выполняется при помощи Protobuf 3
  • process_requests - режим выполнения запросов в сохраненной ранее базе данных.

Поддерживаемые JSON команды:

  • serialization_settings - задает настройки сериализации базы данных (имя файла для базы данных)
  • routing_settings - настройки маршрутизации (скорость автобусов и время ожидания)
  • render_settings - настройки визуализации (параметры svg)
  • base_requests - информация о маршрутах и остановках
  • stat_requests - команды к базе данных на получение информации и построение маршрута:
    • Bus "name": выводит названия остановок, через которые проходит запрошенный автобусный маршрут;
    • Stop "name": выводит названия автобусных маршрутов, которые проходят через заданную остановку;
    • Map: запрос на отрисоку карыт всех маршрутов;
    • Route "from", "to": запросы на построение маршрута между двумя остановками

В папке Example содежится пример запроса на построение базы маршрутов и пример на получение информации по маршрутам, а также иллюстрации к примерам.

ВАЖНО! При сборке проекта необходимо указать Cmake путь к библиотекам Protobuf, например: cmake . -DCMAKE_PREFIX_PATH=/path/to/protobuf/package

About

Второй проект в рамках курса: транспортный справочник.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published