Структура файла цепочек поездок *.fkt

В файле цепочек поездок каждая строка содержит одну цепочку поездок из последовательности поездок. Разделите столбцы при помощи точки с запятой.

Первая строка файла цепочек поездок должна содержать номер примененной версии формата, например 1.1.

Со второй строки следуют цепочки поездок:

  • Столбец 1: Номер транспортного средства
  • Столбец 2: Тип транспортного средства
  • Столбец 3: Номер района источника
  • В формате данных версии 1.1 каждая поездка описывается со столбца 4 при помощи четырех столбцов.
  • В формате данных версии 2.1 каждая поездка описывается со столбца 4 при помощи пяти столбцов. Между номером района цели в столбце 5 и номером действия в столбце 7 указываются мировые координаты цели:
  • Если вы не хотите использовать центр тяжести района цели для определения значения для опции "Расстояние до нужного района", введите мировые координаты цели в круглых скобках.
  • Если вы хотите использовать координаты центра тяжести, то добавьте в формате данных 2.1 пустую пару квадратных скобок [ ].
Описание формата в форме Бакуса-Наура (BNF)

Записи, действующие только для версии формата 2.1, выделены жирным шрифтом.

<Файл цепочки поездок> ::= <версия> {<цепочка поездок>}

<версия> ::= <real> <nl>

<Цепочка поездок> ::= <транспортное средство> <тип транспортного средства> <источник> {<поездка>} <NL>

<Поездка> ::= <отправление> <цель><координаты><действие> <минимальное время пребывания>

<ТС> ::= <cardinal> <точка с запятой>

<Тип ТС> ::= <cardinal> <точка с запятой>

<Источник> ::= <cardinal> <точка с запятой>

<Отправление> ::= <cardinal> <точка с запятой>

<Цель> ::= <cardinal> <точка с запятой>

<Координаты> = <круглая скобка откр.> <координата X> <запятая><координата Y> <круглая скобка закр.> <точка с запятой>

| <квадратные скобки откр > <квадратные скобки закр > <точка с запятой>

<координата X> = <реально>

<координата Y> = <реально>

<запятая> = ","

<круглые скобки откр> = "("

<круглые скобки закр> = ")"

<квадратные скобки откр> = "["

<квадратные скобки закр> = "]"

<Действие> ::= <cardinal> <точка с запятой>

<Минимальное время пребывания> ::= <cardinal> <точка с запятой>

<nl> ::= новая строка

<Точка с запятой> ::= точка с запятой (;)

<cardinal> ::= положительное целое число (например, 23)

<real> ::= число с плавающей точкой (например, 3,14)

Пример файла *.fkt в формате версии 1.1

Пример файла цепочек поездок с 12 цепочками поездок:

1.1
 1;1;10;  1; 20; 101; 117; 211; 30; 101; 169; 732; 20; 101; 171;
 2;1;10;  4; 20; 101; 255; 334; 30; 101; 147; 815; 20; 101; 124;
 3;1;10;  8; 20; 101; 202; 395; 30; 101; 178; 832; 20; 101; 175;
 4;1;10; 12; 20; 101; 216; 703; 30; 101; 162; 533; 20; 101; 208;
 5;1;10; 16; 20; 101; 164; 601; 30; 101; 251;1134; 20; 101; 159;
 6;1;10; 20; 20; 101; 295; 529; 30; 101; 133; 846; 20; 101; 114;
 7;1;10; 25; 20; 101; 248; 262; 30; 101; 256; 987; 20; 101; 117;
 8;1;10; 29; 20; 101; 169; 322; 30; 101; 164; 463; 20; 101; 141;
 9;1;10; 31; 20; 101; 138; 543; 30; 101; 212; 405; 20; 101; 252;
10;1;10; 35; 20; 101; 296; 205; 30; 101; 160; 802; 20; 101; 221;
11;1;10; 40; 20; 101; 270; 622; 30; 101; 244; 604; 20; 101; 175;
12;1;10; 44; 20; 101; 189; 151; 30; 101; 185; 419; 20; 101; 227;
Пример файла *.fkt в формате версии 2.1

Пример файла цепочек поездок с 11 цепочками поездок. Мировые координаты для цели указаны только в районе 20:

2.1
 1; 1; 10;  1; 20; (113.0,157.0); 101; 117; 211; 30; []; 101; 169; 732; 20; (105.0,159.0); 101; 171;
 2; 1; 10;  4; 20; (102.0,160.0); 101; 255; 334; 30; []; 101; 147; 815; 20; (128.0,153.0); 101; 124;
 3; 1; 10;  8; 20; (126.0,163.0); 101; 202; 395; 30; []; 101; 178; 832; 20; (117.0,182.0); 101; 175;
 4; 1; 10; 12; 20; (128.0,153.0); 101; 216; 703; 30; []; 101; 162; 533; 20; (103.0,155.0); 101; 208;
 5; 1; 10; 16; 20; (114.0,174.0); 101; 164; 601; 30; []; 101; 251;1134; 20; (113.0,157.0); 101; 159;
 6; 1; 10; 20; 20; (105.0,159.0); 101; 295; 529; 30; []; 101; 133; 846; 20; (120.0,172.0); 101; 114;
 7; 1; 10; 25; 20; (117.0,182.0); 101; 248; 262; 30; []; 101; 256; 987; 20; (102.0,160.0); 101; 117;
 8; 1; 10; 29; 20; (119.0,157.0); 101; 169; 322; 30; []; 101; 164; 463; 20; (121.0,160.0); 101; 141;
 9; 1; 10; 31; 20; (121.0,160.0); 101; 138; 543; 30; []; 101; 212; 405; 20; (119.0,157.0); 101; 252;
10; 1; 10; 35; 20; (120.0,172.0); 101; 296; 205; 30; []; 101; 160; 802; 20; (126.0,163.0); 101; 221;
11; 1; 10; 40; 20; (103.0,155.0); 101; 270; 622; 30; []; 101; 244; 604; 20; (114.0,174.0); 101; 175;