A simple JSON database containing conversion factors and other information for a large number of measurement units
- The db.json file contains all prefix and unit definitions
- The schema.json file is a jsonschema that defines the structure of the db.json file
- The nist811 folder contains .csv that contain conversion factors defined by NIST more info
This file contains definitions for standard (SI) prefixes and measurement units (SI and non-SI). Each field is keyed by it's most common symbol. Prefixes are structured as in the following example:
{
"m": {
"scale": "1e-3",
"name": "milli"
}
}
This tells us that the prefix "m" modifies a value by a multiple of 1e-3 and it's full name is "milli".
Units are defined as in the following example:
{
"gf": {
"name": "Gram Force",
"description": "Defined as the amount of force exerted by standard gravity on a 1 gram mass",
"category": "force",
"scale": "9.80665e-3",
"dimensions": {"mass": 1, "length": 1, "time": -2},
"aliases": ["pond"]
},
}
This tells us that the "gf" symbol is defined a Gram-Force, it has dimensionality
(mass * length / time^2), and has a scale of 9.80665e-3 relative to the SI
standard measure of corce (the Newton). Common alternative symbols are in the
aliases array. Note that scale values are implemented as strings rather than floating
point literals because some units can be precisely defined with a mathematical
expression. For example, the US Survey Foot is defined as 1200/3937
meters and a
Revolution is defined as 2*pi
radians, both of which cannot be represented
exactly in floating point.