После многих лет, отведенных от программирования, я решил снова заняться этим ради удовольствия и получаю удовольствие от этого. В процессе поиска вещей для кодирования я обнаружил, что эти данные открыто доступны в Network Rail в Великобритании.
Помимо прочего, вы можете получить данные расписания, которые представляют собой список всех поездок на поезде, автобусе и пароме.
Запись о расписании поездки на поезде может выглядеть так:
BSNY819581902281902280001000 PEE5A99 122112002 EMU390 125
BX VTY
LOMNCRPIC 2131 00008 FL TB
LIARDWCKJ 2133 00000000
LISLDLJN 2134H00000000 SL H
LIHTNOJN 2138 00000000 FL 1H
LISTKP 2140H000000002 SL
LISTKPE1 2141H00000000
LIADSWDRD 2142H00000000
LICHDH 2143 000000002
LIWLMSL 2146 000000004 1
LIALDEDGE 2148 00000000 1 3
LISBCH 2200 000000001 FL
LICREWSBG 2203 00000000
LICREWUML 2204 00000000
LICREWE 2206 000000001 FL H
LICREWBHJ 2207H00000000 1
LIMADELEY 2212 00000000 FL FL 5H
LINTNB 2222H00000000 FL FL
LISTAFFDJ 2226H00000000 SL
LISTAFFRD 2228H2231H 000000004 SL SL A C
LISTAFTVJ 2233 00000000
LIPNKRDG 2236H00000000 1 1
LIBSBYJN 2244 00000000
LIPBLJWM 2248 00000000
LIDRLSTNJ 2251H00000000
LIBSCTSTA 2252H00000000 1
LIPRYBRNJ 2257 00000000 7
LIASTON 2306H000000002
LISTECHFD 2311H00000000
LIBHAMINT 2315 000000004
LIBKSWELL 2318H00000000 1H
LICOVNTRY 2324 000000001 2 3
LIRUGBTVJ 2336 00000000 UNL 3
LIRUGBY 2340 000000005 UNLUNL 1H
LIHMTNJ 2343 00000000 1H
LIDVNTYNJ 2346H00000000
LILNGBKBY 2351 00000000 1 1
LINMPTN 0001H000000001 6
LIHANSLPJ 0016 00000000 SL
LIMKNSCEN 0021 000000001 SL SL
LIBLTCHLY 0023 000000004 SL SL 5 1H
LILEDBRNJ 0036 00000000 SL SL 2
LITRING 0042 000000002 SL SL 2H
LIBONENDJ 0048H00000000 SL SL 1H
LIWATFDJ 0056 000000009 SL SL 1H
LIHROW 0101H000000006 SL SL 3
LIWMBY 0107H000000006 CL
LTWMBYICD 0117H0000 TF
tl; dr; первые две строки описывают, какой тип поезда движется, когда он движется, как быстро и т. Д. Другие строки описывают точки, которые пройдет поезд, и в какое время они должны это сделать. Основной вывод заключается в том, что каждая запись имеет различную длину в зависимости от поездки.
Когда я увидел это, я подумал: «Это была бы отличная вещь, чтобы попытаться возиться с Коболом». Я пошел в политехникум и изучил PASCAL и COBOL, но мне приходилось иметь дело только с файлами одинаковой длины и согласованными данными, а не с чем-то вроде этого.
Я потратил пару часов, пытаясь найти какой-то ответ на этот вопрос в Google, но на самом деле ничего не показывало, отсюда и мой вопрос.
Просто для справки, мне удалось сделать это в GW-BASIC, и я мог бы сделать это в элементарном Python, если это необходимо, но COBOL, будучи тем, чем он является, является совершенно другим котлом с рыбой.
Можно ли прочитать что-то подобное в COBOL, не прибегая к колдовству, или это просто «слишком жесткая» корзина? Я делаю это только для удовольствия, так что на самом деле ничего страшного.
Любые ответы или отзывы будут приветствоваться.
Большое спасибо,
Джозеф.