All dimensions and units
Use this page to find the exact unit name accepted after @ and its conversion factor. If you are learning how units work, start with Units and measures . For annotation syntax, see Types .
Quick rules
- Write a catalog name after a numeric type:
DOUBLE@LENGTH.METER. - Wrap compound units in parentheses:
DOUBLE@(LENGTH.METER / DURATION.SECOND). - Write square and cubic metres as powers:
@(LENGTH.METER ^ 2)and@(LENGTH.METER ^ 3). - Use
CONVERT_UNIT()to change scale. FeatureQL never converts silently. - Choose the complete name when systems differ. For example, use
VOLUME.US_LIQUID_GALLONorVOLUME.IMPERIAL_GALLON, notVOLUME.GALLON.
There are no exact aliases such as AREA.SQUARE_METER, VOLUME.CUBIC_METER, or SQM. AREA and VOLUME contain only names that add a scale, such as AREA.HECTARE, AREA.ACRE, and VOLUME.LITER.
In the tables below, “one unit is” gives the exact conversion used by CONVERT_UNIT(). External UCUM and ISO codes are metadata.
The catalog grows with FeatureMesh releases. Existing names are never redefined or removed, and projects cannot add their own unit names.
Metric reference
Metric units are the common conversion reference.
| Write | One unit is | External code |
|---|---|---|
LENGTH.METER | reference length | UCUM m |
LENGTH.KILOMETER | 1000 LENGTH.METER | UCUM km |
LENGTH.DECIMETER | 1/10 LENGTH.METER | UCUM dm |
LENGTH.CENTIMETER | 1/100 LENGTH.METER | UCUM cm |
LENGTH.MILLIMETER | 1/1000 LENGTH.METER | UCUM mm |
MASS.KILOGRAM | reference mass | UCUM kg |
MASS.GRAM | 1/1000 MASS.KILOGRAM | UCUM g |
MASS.MILLIGRAM | 1/1000000 MASS.KILOGRAM | UCUM mg |
MASS.TONNE | 1000 MASS.KILOGRAM | UCUM t |
AREA.HECTARE | 10000 LENGTH.METER ^ 2 | UCUM har |
VOLUME.LITER | 1/1000 LENGTH.METER ^ 3 | UCUM L |
VOLUME.MILLILITER | 1/1000 VOLUME.LITER | UCUM mL |
VOLUME.LITER and LENGTH.METER ^ 3 are different labels. Convert explicitly when you move between them.
Shared international
Modern US customary and Imperial systems use the same international inch, foot, yard, mile, avoirdupois ounce, pound, and acre. Use these shared names in both systems.
| Write | One unit is | External code |
|---|---|---|
LENGTH.INCH | 0.0254 LENGTH.METER | UCUM [in_i] |
LENGTH.FOOT | 0.3048 LENGTH.METER | UCUM [ft_i] |
LENGTH.YARD | 0.9144 LENGTH.METER | UCUM [yd_i] |
LENGTH.MILE | 1609.344 LENGTH.METER | UCUM [mi_i] |
MASS.OUNCE | 1/16 MASS.POUND | UCUM [oz_av] |
MASS.POUND | 0.45359237 MASS.KILOGRAM | UCUM [lb_av] |
AREA.ACRE | 43560 LENGTH.FOOT ^ 2 | NIST international acre |
US customary
US liquid and US dry volumes are different. Choose the name that matches the source data.
| Write | One unit is | External code |
|---|---|---|
MASS.SHORT_TON | 2000 MASS.POUND | UCUM [ston_av] |
VOLUME.US_LIQUID_GALLON | 3.785411784 VOLUME.LITER | UCUM [gal_us] |
VOLUME.US_QUART | 1/4 VOLUME.US_LIQUID_GALLON | UCUM [qt_us] |
VOLUME.US_PINT | 1/8 VOLUME.US_LIQUID_GALLON | UCUM [pt_us] |
VOLUME.US_FLUID_OUNCE | 1/128 VOLUME.US_LIQUID_GALLON | UCUM [foz_us] |
VOLUME.US_DRY_GALLON | 4.40488377086 VOLUME.LITER | UCUM [gal_wi] |
VOLUME.US_DRY_QUART | 1/4 VOLUME.US_DRY_GALLON | UCUM [dqt_us] |
VOLUME.US_DRY_PINT | 1/8 VOLUME.US_DRY_GALLON | UCUM [dpt_us] |
Imperial
| Write | One unit is | External code |
|---|---|---|
MASS.STONE | 14 MASS.POUND | UCUM [stone_av] |
MASS.LONG_TON | 2240 MASS.POUND | UCUM [lton_av] |
VOLUME.IMPERIAL_GALLON | 4.54609 VOLUME.LITER | UCUM [gal_br] |
VOLUME.IMPERIAL_QUART | 1/4 VOLUME.IMPERIAL_GALLON | UCUM [qt_br] |
VOLUME.IMPERIAL_PINT | 1/8 VOLUME.IMPERIAL_GALLON | UCUM [pt_br] |
VOLUME.IMPERIAL_FLUID_OUNCE | 1/160 VOLUME.IMPERIAL_GALLON | UCUM [foz_br] |
US liquid, US dry, and Imperial gallons are three different units. CONVERT_UNIT() can convert between them; FeatureQL will not guess which gallon you meant.
Legacy US survey
Use these names only for legacy data. The US survey foot was retired for most US government use at the end of 2022 and is slightly longer than the international foot.
| Write | One unit is | External code |
|---|---|---|
LENGTH.US_SURVEY_FOOT | 1200/3937 LENGTH.METER | UCUM [ft_us] |
LENGTH.US_SURVEY_MILE | 5280 LENGTH.US_SURVEY_FOOT | UCUM [mi_us] |
AREA.US_SURVEY_ACRE | 43560 LENGTH.US_SURVEY_FOOT ^ 2 | UCUM [acr_us] |
Currency
Currency conversion rates are data, so the catalog converts minor units but does not convert one currency into another.
| Write | One unit is | External code |
|---|---|---|
CURRENCY.USD | US dollar | ISO 4217 USD |
CURRENCY.USD_CENT | 1/100 CURRENCY.USD | |
CURRENCY.EUR | euro | ISO 4217 EUR |
CURRENCY.EUR_CENT | 1/100 CURRENCY.EUR | |
CURRENCY.GBP | pound sterling | ISO 4217 GBP |
CURRENCY.GBP_PENCE | 1/100 CURRENCY.GBP | |
CURRENCY.JPY | Japanese yen | ISO 4217 JPY |
CURRENCY.CHF | Swiss franc | ISO 4217 CHF |
CURRENCY.CHF_RAPPEN | 1/100 CURRENCY.CHF |
Duration
| Write | One unit is | External code |
|---|---|---|
DURATION.SECOND | reference duration | UCUM s |
DURATION.MINUTE | 60 DURATION.SECOND | UCUM min |
DURATION.HOUR | 3600 DURATION.SECOND | UCUM h |
DURATION.DAY | 86400 DURATION.SECOND | UCUM d |
DURATION.WEEK | 604800 DURATION.SECOND | UCUM wk |
DURATION.MONTH | 2592000 DURATION.SECOND | UCUM mo |
DURATION.YEAR | 31557600 DURATION.SECOND | UCUM a |
DURATION.MONTH means exactly 30 days. DURATION.YEAR means exactly 365.25 days. They are fixed conversion units, not calendar-aware periods.
Information
| Write | One unit is | External code |
|---|---|---|
INFORMATION.BYTE | reference information unit | UCUM By |
INFORMATION.KIBIBYTE | 1024 INFORMATION.BYTE | |
INFORMATION.MEBIBYTE | 1048576 INFORMATION.BYTE |
Temperature
| Write | Converts to | Formula | External code |
|---|---|---|---|
TEMPERATURE.FAHRENHEIT | reference temperature | — | UCUM [degF] |
TEMPERATURE.CELSIUS | TEMPERATURE.FAHRENHEIT | °F = °C × 9/5 + 32 | UCUM Cel |
Celsius and Fahrenheit differ by an offset. You can convert one to the other, but temperature units cannot appear inside a compound unit.
Dimensionless
Use @DIMENSIONLESS for a value known to have no unit, such as a ratio, percentage, weight, or multiplier. @1 is an optional shorter spelling.
An unannotated number is different: it is unlabelled, which means FeatureQL does not know what it measures.
Entity cardinality atoms
Every feature declared with ENTITY() is also a counting unit — BIGINT@ORDERS is a count of orders. Pair it with a measured total to get a rate: @(CURRENCY.USD / ORDERS).
Reserved names
Catalog category names cannot be used as ENTITY() names: CURRENCY, LENGTH, MASS, AREA, VOLUME, DURATION, INFORMATION, and TEMPERATURE. UNDEFINED is also reserved.