Структура данных для проекта NaviGuild
- Карта
- Данные карты
Карту вы можете сделать сами либо использовать уже готовые
Для данных по умолчанию использован текстовый формат JSON со своей структурой.
"date":"дата создания",
"city":"Минск",
"nameDb":"dbname_pfx",
"buildings":{
"Название улицы 1":[
{
"num":"Номер здания 1",
"point":[53.88736146,27.60818766]
},
{"num":"Номер здания 2",
"point":[53.88736146,27.60818766]
}],
"Название улицы 2":[
{
"num":"Номер здания 1",
"point":[53.88736146,27.60818766]
},
{
"num":"Номер здания 2",
"point":[53.88736146,27.60818766]
}]},
"stops":[
{
"id":1,
"name":"Название остановки 1",
"point":[53.88736146,27.60818766]
"transport":1,
"routes":[1,2,3],
"neighbors" : [
{
"stopId" : 1,
"distance" : 232
},{
"stopId" : 2,
"distance" : 132
}
]}
},
{
"id":2,
"name":"Название остановки 2",
"point":[53.88736146,27.60818766]
"transport":4,
"routes":[1,2,3],
"neighbors" : [
{
"stopId" : 1,
"distance" : 232
},{
"stopId" : 2,
"distance" : 132
}
]
}],
"routes" :[
{
"id":1,
"name":"Название маршрута",
"number":"Номер",
"trans":1,
"type":0,
"stops":[1,2,3],
"period":{
"12345":[
[220,260,300],[1,1,1]
]},
"delays":{"1":"1,1"}}]
}
- city - название города, имя которое будет отображаться в списке настроек.
- nameDb - уникальное название данных
- date - дата создания расписания.
- buildings - карта улиц (ключ - название улицы, объект - список зданий)
- Название улицы
- num - номер здания
- point - координаты [широта, долгота]
- Название улицы
- stops - список остановок
- id - ключ остановки
- name - название остановки
- point - координаты [широта, долгота]
- transport - тип остановки, определяется транспортом который останавливается. Например см. константы на остановке останавливается автобус и трамвай, тип остановки будет 1 + 4 = 5.
- routes - массив ключей маршрутов, проходящих через остановку
- neighbors - список соседних остановок
- stopId - ключ остановки
- distance - расстояние в м.
- routes - список маршрутов
- id - ключ маршрута
- name - название маршрута
- number - номер маршрута
- trans - тип транспорта см. константы
- type - тип движения (0 или 7)
- stops - последовательный список ключей остановок для данного маршрута
- period - карта расписания, ключ - рабочий период, объект - массив
- "12345" - ключ, рабочий период, в данном случае это с понедельника по пятницу, к примеру понедельник и среда будет эквивалентно "13".
- [220,260,300],[1,1,1] - [время отправления с первой остановки,..], [ключ к интервалу движения,...]
- delays - карта интервалов
- "1" - ключ интервала
- "1,1" - интервал движения от 1 остановки до 2, от 2 до 3, и.т.д.
- формат файла UTF-8
- nameDb латинскими буквами, желательно в конце префиксом указывать код страны. Пример для Минска minsk_by
- route.name название маршрута должно быть вида "А - Б"