City-Roads
Визуализация графа дорог Волгограда и построение списка и матрицы смежности Волгограда
Белоусов Юрий Вячеславович 332 группа
TL;DR Описание алгоритма доступно здесь, результат для Волгограда вот здесь
- Состояние сборки
- Задание
- Функционал и алгоритм
- Инструкция по запуску
- Результат работы программы
- Благодарности
Состояние сборки
Скачать последнюю стабильную версию (сборка из ветви master
) под вашу платформу возможно отсюда
Задание
С полным текстом задания можно ознакомиться здесь
Функционал
- Построение визуализации графа
- Построение информации про вершины
- Построение списка смежности
- Построение матрицы смежности
- Случайным образом отвечает на один из двух самых важных вопроса в жизни
Информация об алгоритме, используемых технологиях доступна здесь
Инструкция по запуску
Проверить на соответствие системным требованиям
- Использовать готовую сборку
- скачать и распаковать сборку для вашей ОС отсюда
- положить в директорию с билдом файл
*.osm
с нужным участком карты. (Инструкция по скачиванию произвольного участка, либо можно скачать файл для Волгограда, который также находится на странице со сборками) - открыть командную строку
- выполнить следующую команду:
.\CityMap -f filename.osm
, гдеfilename.osm
— название карты.
- Собрать из исходников
- установить .NET Core SDK для вашей ОС
- скачать репозиторий (
git clone https://github.com/bruce-willis/City-Roads.git
или просто архивом) - Зайти в директорию
City-Roads/src
(cd .\City-Roads\src
) - добавить файл с картой
- открыть командую строку
- выполнить следующую команду:
dotnet run -- -f filename.osm
По умолчанию программа ищет файл с названием map.osm
, так что если у вас называется точно такое же, то можете не указывать дополнительные аргументы
Если вы хотите, то можете включить генерацию матрицы смежности (внимание: данный процесс крайне небыстрый (не менее 20 минут) и получившийся файл может весить более 30Гб) с помощью аргумента -m
(--write-matrix
)
Узнать обо всех возможностях программы можно с помощью аргумента --help
Результат работы программы
По умолчанию программа создаст директорию Output
, в которой будут сгенерированы 3 файла
map.svg
- файл с векторной визуализацией построенного графаnodes_list.csv
- таблица с информацией о вершинахadjacency_list.csv
- таблица со списком смежности
Результаты для Волгограда вместе с подробным описанием доступны здесь
Благодарности
- Appveyor за возможность бесплатной настройки непрерывной интеграции и классный сервис
- Resharper за чрезвычайно полезное дополнение, которое (я надеюсь) сделало код чуточку лучше и понятней
- Всем тем, кто воспользовался и указал ссылку на инструкцию по скачиванию географической области. Мне приятно, спасибо!
- Андрею и Сереже за тестирование сборок