FreeBMDFreeBMD File Format

Welcome to the FreeBMD District Aliasers' reference page that describes the file format of the district map files. This page provides the definitive definition of the contents of the district map data files.

Where are the district map files?

The district map is held in the directory data/districtmaps in files with the suffix .txt. There is no restriction on the filenames used; all files with this suffix are processed. By convention the district map is split into files based on the initial letter of the district name (A.txt, B.txt, etc.) although there are exceptions, for example St.txt, IJ.txt and unaliasable.txt.

What is the format of an entry for a district?

Each line of a district map file contains information about one district. We use Camberwell as a typical example because it has most of the features that are used.

District Information

The start of the line (up to the first vertical bar) contains information about the district itself:

Camberwell (1837-1919)+LND-SRY+aaaa+1837+3+1919+1+4+1d+0+0+0|

Within this part of the line the components are separated by a plus (+); these components are:

Not all of this information need be given, indeed only the district name is mandatory. Empty entries default to "any" or "all" as appropriate. Where empty entries exist at the end of this information the plus (+) can also be omitted. Hence the minimum that need appear is
districtname|

District Aliases

After the information about the district comes the alias list, each alias separated by a vertical bar. Here are some of the entries for our example Camberwell:

Camberwell (1837-1919)+LND-SRY+aaaa+1837+3+1919+1+4+1d+0+0+0|%Camberwell|!Camberwill|
!Camb*%1d|!Camb*%4|!Camberwe*|!Cambourne%1d|!*er_ell|!*well%1d|!__mberw_ll|!C*berwell|!Camb*w*ll|
!Camberell|!Camberwich|!Caraberwell|!Camb_{2,4}ell|!*well%4!%Ca__t_rwell|!%Camberwqell|!%Carmberswell

Note that this entry is a single line in the district map file although we have wrapped it here for convenience and, when editing the file, your editor will (or can be set to) automatically wrap the line.

In the alias list each entry has the following markers:

If using both "!" and "%" at the start, use the "!" first.

Note that the system only automatically generates an alias for the name of the district where the name does not contain a date range. Thus the entry for "Camberwell (1930 onw)" has:
Camberwell (1930 onw)+LND-GTL+aaaa+1930+2+1991+3+0+1d+5c+5a+11|Camberwell|...
otherwise Camberwell would not have been an alias for this district.

Furthermore the system does not generate a data dependent alias for the district name (whether or not it has a date range). Thus the entry for "Camberwell (1837-1919)" has an alias %Camberwell. Without this alias all instances of Camberwell, whatever the date of the quarter they appeared in, would have been linked to "Camberwell (1930 onw)" since this district has an alias for Camberwell that is not date dependent.

Changed District Names (District Pseudonyms)

Several functions in FreeBMD rely on entries having the same content between updates. For example, entries are marked as new if they are different from any entry in the previous update. This potentially causes a problem if the name of a District is changed because all of a sudden a large number (thousands) of entries are changed.

To overcome this problem it is necessary to indicate the previous name (or names) of a district in the district map if the name is to be changed. This is done by adding a list of all previous names in square brackets, separated by commas, after the district name. Leading and trailing spaces are ignored. The following are examples:
Teesside North [Teeside North]+...
Tonbridge [Tunbridge]+...
Berkhamsted (1939-74)[Berkhamstead,Barkhampstead]+...

Note that there is one case the system does automatically, which is where a year range is added to name. So for
Battersea (1930-1965)
the system will automatically add a District Pseudonym of
Battersea
however it would not be a problem if this was done explicitly with:
Battersea (1930-1965) [Battersea]+..

What is the algorithm to find a district in the district map?

Given a transcribed district the following describes the way a transcribed district is found in the district map.
  1. Strip all "?" characters from the transcribed district
  2. Strip all leading and trailing spaces from the transcribed district
  3. Convert the remaining characters to lower case
  4. Look in the district map for any matching %district% entries
  5. [if not found] Look in the district map for any matching %district entries
  6. [if not found] Look in the district map for any matching district% entries
  7. [if not found] Look in the district map for any matching district entries
  8. [if not found] Add the stripped lower case spelling as a new variant (with the invented flag set)

What are valid values for district names?

The following defines the values that a district name can have.

alphanum  =  <lower case letter> | <uppercaseletter> | <digit>
districtsuffixchar  =  alphanum | <space> | <hyphen> | <solidus>
districtpseudochar  =  alphanum | <space> | <hyphen> | <period> | <single quote>
districtbasechar  =  alphanum | <space> | <hyphen> | <period> | <single quote> | <solidus>
districtbasename  =  districtbasechar* [ <open bracket> districtsuffixchar* <closed bracket> ]
districtname  =  districtbasename [ <open square bracket> districtpseudochar [ <comma> districtpseudochar ]* <close square bracket>

The districtbasename may be empty if there is a district suffix; such districts have the invented flag set. Districts with this format are used for pseudo-districts, e.g. "(illegible)".

How does the bookmark work?

The third item in the district map line is the bookmark information which is used to create a district link; this is a reference to further information about the district.

The district link is created as follows:

The district link, if any, is then formed into a URL as follows:
http://www.ukbmd.org.uk/genuki/reg/districts/<districtlink>.html

Note that because an empty string for the bookmark information suppresses production of a link, to create a link based solely on the (lower case) district name the string 'aaaa' should be used.

Warnings and errors

The following warnings and errors are reported by the update and put in the file DistrictReport.txt which can be downloaded using the aliasing tools.

Duplicate synonyms

This is a list of duplicate aliases that are not dated or volume specific. The alias used will be the one for which the date and/or volume of the district matches. These duplicates should be checked to ensure they are correct although it would be best to make them explicitly dated or volume specific.

Overlapping dated entries

Where there are aliases that have overlapping date ranges the following is produced:
Overlapping dated entries: <districtname>, <firstaliasname> <firstnumber> <firsttype>, <secondaliasname> <secondnumber> <secondtype>

Where

...aliasename
is the name of the alias
...number
is the number of the alias
...type
(see below)

Dated invented

It is not possible to have a dated invented alias (that is a an alias for a districtname starting with open bracket) and any occurrences are reported as follows:
Dated synonym for invented district: <districtname>, <number> <type>

Roman volumes

Where an alias is volume specific (<aliasname>%<volume>), the volume cannot be given in Roman numerals. Where this is contravened the following is reported:
Synonym <aliasname> in <districtname> has Roman volume

Type encoding

Where <type> appears in the definition of the message above, the encoding of <type> is
1=volume and date
2=date
3=volume
4=not date or volume specific

Go to list of reference pages | previous reference page | next reference page | district aliasers' home page

FreeBMD Main Page


Search engine, layout and database Copyright © 1998-2022 Free UK Genealogy CIO, a charity registered in England and Wales, Number 1167484.
We make no warranty whatsoever as to the accuracy orM completeness of the FreeBMD data.
Use of the FreeBMD website is conditional upon acceptance of the Terms and Conditions







Explore FreeBMD