Module:Track gauge/data/doc

Module:Track gauge/data holds the data for Module:Track gauge and template Track gauge. It contains over 230 track gauge definitions (widths), often by different units (defined metric and/or imperial).

Entry data structure
A single entry is a subtable (by ) in the data page. The full entry is approached by an alias (normalised input). The subtable has the following structure: {	["id"] = "1000",			-- Gauge identification in mm. ["aliases"] = {1000mm, 1m},	-- Aliases for the gauge (input options; input spaces, commas and capitals are re-formatted by the module). ["def1"] = "met",			-- The defining measurement, either "met" (metric) or "imp" (imperial). ["name"] = "metre gauge",		-- Name for the gauge (alternative). ["link"] = "Metre gauge railway",		-- Link to named gauge article (alternative, linked). ["pagename"] = "standard gauge",	-- Link to sourcing Wikipedia article. ["contentcat"] = "Iberian gauge railways"	-- Non-default category name (don't add 'Category:'). ["m"] = "1",				-- Gauge in metre (the ["mm"] value, below, will not be shown). ["mm"] = "1000",			-- Gauge in mm. ["ft"] = "3",				-- The feet part of the gauge. ["in"] = "3",				-- The inches part of the gauge (can have decimals) ["num"] = "3",				-- The numerator for fractions of inches (the "3" in 3/8 inches). ["den"] = "8"				-- The denominator for fractions of inches (the "8" in 3/8 inches). },

About aliases and identifiers
A rail track gauge is identified by "id". That id is the size in mm (a choice, made for this list). Preferably it has an article link where that gauge definition is described and sourced. An entry is a data set (a complete subtable) with structure An entry is identified by its Aliases. Aliases are unique; any alias will find only one entry (if present). Two entries can point to one gauge id: usually when definied in metric *and* defined in imperial. e.g., "1435mm" and "56.5in" are different entries (showing different primary size: in met or imp) but they point to the same gauge id: ["id"] = "1435".

The "id", "aliases", and "def1" fields are required. Also, some size in metric and in imperial must be present. That is: at least one metric size field (mm or m) and one imperial size field (ft, inch, or num+den) must exist. All other fields are optional.


 * id: An id can be reused in multiple entries. Usually used twice when a gauge is defined in both metric and in imperial. Even a third gauge name (by another alias) can be added.
 * alias (input option): An Alias must be unique over all data. Alias names here should not contain any spaces; spaces are trimmed from the input when it is processed, so alias names containing spaces will not be matched.

Development

 * Data "history" = {date begin, date end} -- to denote the era of existance
 * Data "unique" = "yes" -- to denote single network
 * See