Official 1999 BOF Rankings Format
One major benefit of the new experimental 1999 BOF ranking system should be that the use of BOF numbers as unique identification will avoid confusion which has occurred previously.
The format described below is based on that used for the world rankings and as such contains some redundant fields etc.. The description below has been modified to apply specifically to the current BOF usage although some of the redundant information is still described.
Unfortunately the IOF have reviewed the use of the format and decided that something more sophisticated is needed to cope with multi-day results, relays etc. and is in the process of defining new formats for the future. Thus the format described here may have a limited lifetime. It is hoped that easy translation to the new formats can be achieved to ease any future transition.
Note : this format can already be produced by recent versions of Terry Smith's 'Badge' program. Contact Terry if in doubt.
The format of the file
The system is based on a regular ASCII-file with lines containing comma-separated fields. Each line starts with a code indicating the type of the line. The file format includes the following five line-types:
The file should always start with a RaceHeader. After the RaceHeader there will be a number of classheaders, each followed by the CompetitorInfo of each competitor in this class. If Split times is used a SplitTime-record should follow directly after the CompetitorInfo-record.
Example:
RaceHeader
ClassHeader
CompetitorInfo
CompetitorInfo
CompetitorInfo
.
.
.
ClassHeader
CompetitorInfo
CompetitorInfo
CompetitorInfo
.
(more classes)
.
Endrecord
The Data Content
The new ranking system will use L,S and A,B course results for M18 and above. However, it is requested that results are sent for all juniors as well. In addition, although it might seem redundant for ranking purposes to include competitors without BOF numbers, those who retired or disqualified etc., BOF would like to have complete sets of major event results on record in a defined format. This will be particularly useful when analysing issues such as the inclusion of Short courses in rankings. It could also, if clubs agree, form the basis of an automated submission on-line results service in the future.
It is probable that, in the early stages, that there will be competitors who should be ranked but for whom a BOF number is not available. If this occurs, it should be indicated by inserting GBR0 for the RankingNr. If the competitor is not eligible for ranking or the status is not known then the field should be left blank.
The lines in the file
Please take note that the preferred (!) date format uses the US convention of MM-DD-YYYY (i.e. the month first!).
RaceHeader
|
Name |
Optional |
Explanation |
Example |
|
R |
No |
Shows that this is a RaceHeader |
R |
|
File Version |
No |
A version number for the file, the first version should be 1 |
1 |
|
Racename |
No |
Name of the race enclosed by "". |
"Twin Peaks Day 1" |
|
Organizing 'Club' |
No |
Organizing club or association etc. enclosed by "" |
"MDOC" or "NWOA" |
|
Date |
No |
Date of race (MM-DD-YYYY) |
06-24-1998 |
|
Country |
No |
Country of race. IOF Country codes (USA, CAN, IRE, NOR) |
GBR |
|
SplitTimes |
Yes |
Show if this race has split times (Y for Yes or N for No) Default is No if omitted |
Y |
|
System Number |
Yes |
Gives the official number of the racesystem, given to the developers by IOF. Normally omit |
43 |
|
System Version |
Yes |
Gives the version of the racesystem enclosed by "". Normally omit |
"2.30" |
|
Race Type |
Yes |
Identifies the type of race: (Normally omit) I - Individual race (Default) M - Mass start C - Chase start |
I |
ClassHeader
|
Name |
Optional |
Explanation |
Example |
|
C |
No |
Shows that this is a ClassHeader |
C |
|
Classname |
No |
Name of the class enclosed with "". |
"M21L" "W16A" |
|
Length |
No |
Length of race in km. |
10.3 |
|
RankingClass |
Yes |
Class in which rankings will count - usually above class minus the length/standard (can usually omit) |
"M21" "W16" |
|
NumOfControls |
Yes |
Number of controls in class |
18 |
|
Climb |
No |
Climb in race in meters. |
145 |
CompetitorInfo
|
Name |
Optional |
Explanation |
Example |
|
I |
No |
Shows that this is CompetitorInfo |
I |
|
Place |
Yes |
Competitors place in race (Normally omit only if DNF, DQ etc.) |
12 |
|
FirstName |
No |
Competitors first name |
"Ian" |
|
LastName |
No |
Competitors last name |
"Watson" |
|
Club |
No |
Competitors Club enclosed in "" |
"MDOC" |
|
TotalTime |
No |
Total time of the competitor. Using the format hh:mm:ss or mmm:ss |
1:15:05 or 75:05 |
|
Status |
Yes |
C - Completed (Default) DNF - Did not Finnish DQ - Disqualified DNS - Did Not Start |
C |
|
Country |
Yes |
Country of competitor. IOF Country codes (USA, CAN, IRE, NOR) |
GBR |
|
RankingNr |
Yes |
Normally GBR followed by BOF number. Although this is optional, the result will not count for ranking purposes if it is omitted. |
GBR222671 |
|
BirthYear |
Yes |
Birth year of competitor (YYYY) |
1947 |
|
BirthDate |
Yes |
Birth date of competitor (MM-DD-YYYY) |
05-19-1947 |
|
StartTime |
Yes |
Start time of competitor. Using the format hh:mm:ss or mmm:ss. |
13:34:00 or 154:00 |
SplitTimes (Not normally included for current GBR rankings)
|
Name |
Optional |
Explanation |
Example |
|
S |
No |
Shows that this is a SplitTime |
S |
|
ControlNumber |
Yes |
Number of control |
1 |
|
PassingTime |
Yes |
Split time on control from start. On the format hh:mm:ss or mmm:ss |
1:04 |
|
ControlNumber |
Yes |
Number of control |
2 |
|
PassingTime |
Yes |
Split time on control from start. On the format hh:mm:ss or mmm:ss |
4:23 |
|
ControlNumber |
Yes |
Number of control |
3 |
|
PassingTime |
Yes |
Split time on control from start. On the format hh:mm:ss or mmm:ss |
6:59 |
|
?..(etc.) |
EndRecord
|
Name |
Optional |
Explanation |
Example |
|
E |
No |
Shows that this is an EndRecord |
E |
File Example
The following is an example of the use of the format:
R,1,"November Classic97","SOC",06-08-1998,GBR,N,3,"5.0g",I
C,"W10A",2.6,,11,35
I,1,"JESSICA","STIRRUPS","NGOC",00:49:27,C,GBR,,,,11:15:00
C,"W10B",2.0,,11,30
I,1,"Elizabeth","Fowler","BADO",00:38:50,C,GBR,GBR389354,,,11:01:00
I,2,"ALICE","GRAHAM","SOC",00:40:40,C,GBR,,,,12:29:00
I,3,"Jennifer","Truby","SN",00:49:00,C,GBR,GBR345873,,,12:25:00
I,4,"Rachel","COOPER","SOC",00:55:06,C,GBR,,,,10:45:00
C,"W12A",3.5,,12,50
I,1,"Ruth","Holmes","QO",00:34:08,C,GBR,GBR115944,,,10:51:00
I,2,"Joanna","Fowler","BADO",00:38:27,C,GBR,GBR389353,,,11:01:00
I,3,"Lucy","Jepson","SO",00:39:45,C,GBR,GBR220213,,,11:44:00
I,4,"Alice","Dickson","BAOC",00:40:49,C,GBR,GBR256654,,,10:16:00
I,5,"Melanie","Richardson","TVOC",00:42:26,C,GBR,GBR360484,,,11:32:00
I,6,"Joanna","Ludford","BADO",00:42:47,C,GBR,GBR145343,,,11:41:00
I,7,"Fern","Horsey","WSX",00:43:51,C,GBR,GBR212183,,,12:28:00
I,8,"Charlotte","Turner","SLOW",00:45:59,C,GBR,GBR139374,,,10:50:00
I,9,"Elizabeth","Bridge","SO",00:46:59,C,GBR,GBR374333,,,10:49:00
I,10,"Hayley","Lockton","WSX",00:51:07,C,GBR,GBR364065,,,11:39:00
I,11,"Anna","Peirce","SARUM",00:52:36,C,GBR,GBR380673,,,12:04:00
I,12,"Megan","Greenall","OD",00:53:26,C,GBR,GBR211806,,,10:35:00
I,13,"Joanne","West","SOS",00:59:25,C,GBR,GBR362265,,,11:07:00
.
.
E
Some of the above is redundant and the lines could be shortened as follows:
R,1,"November Classic97","SOC",06-08-1998,GBR,,,,
C,"W10A",2.6,,,35
I,1,"JESSICA","STIRRUPS","NGOC",00:49:27,,,,,, (cannot be ranked)
.
I,3,"Jennifer","Truby","SN",00:49:00,,,GBR345873,,,