Skip to content

Latest commit

 

History

History
120 lines (113 loc) · 4.59 KB

README.md

File metadata and controls

120 lines (113 loc) · 4.59 KB

NaviGuildJSON

Структура данных для проекта 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 название маршрута должно быть вида "А - Б"