diff --git a/docs/schema/reference/addresses/address.md b/docs/schema/reference/addresses/address.md
index fe11b987..97ab997c 100644
--- a/docs/schema/reference/addresses/address.md
+++ b/docs/schema/reference/addresses/address.md
@@ -24,8 +24,8 @@ provinces, state, and regions, and similar addressing units are found.
| Name | Type | Description |
| -----: | :----: | ------------- |
| `id` | [`Id`](../system/ref/id.md) | A feature ID. This may be an ID associated with the Global Entity Reference System (GERS) if—and-only-if the feature represents an entity that is part of GERS. |
-| `bbox` | `bbox` (optional) | An optional bounding box for the feature |
-| `geometry` | `geometry` | Position of the address. Addresses are point geometries.
*Allowed geometry types: Point* |
+| `bbox` | [`bbox`](../system/primitive/geometry.md) (optional) | An optional bounding box for the feature |
+| `geometry` | [`geometry`](../system/primitive/geometry.md) | Position of the address. Addresses are point geometries.
*Allowed geometry types: Point* |
| `theme` | `"addresses"` | |
| `type` | `"address"` | |
| `version` | [`FeatureVersion`](../core/feature_version.md) | |
@@ -37,20 +37,24 @@ provinces, state, and regions, and similar addressing units are found.
| `sources[].update_time` | `datetime` (optional) | Last update time of the source data record. |
| `sources[].confidence` | [`ConfidenceScore`](../core/confidence_score.md) (optional) | Confidence value from the source dataset.
This is a value between 0.0 and 1.0 and is particularly relevant for ML-derived data. |
| `sources[].between` | [`LinearlyReferencedRange`](../core/scoping/linearly_referenced_range.md) (list, optional) | The linearly-referenced sub-segment of the geometry, specified as a range (pair) of percentage displacements from the start of the geometry, that the containing SourceItem applies to. |
-| `address_levels[]` | `list<`[`AddressLevel`](types/address_level.md)`>` (optional) | Names of the sub-country addressing areas the address belongs to, including the city or locality, in descending order of generality.
The list is sorted so that the highest, or most general, level comes first (*e.g.*, region) and the lowest, or most particular level, comes last (*e.g.*, city or town).
The number of items in this list and their meaning is country-dependent. For example, in the United States, we expect two items: the state, and the locality or municipality within the state. Other countries might have as few as one, or even three or more.
When a specific level that is required for a country is not known. most likely because the data provider has not supplied it and we have not derived it from another source, the list item corresponding to that level must be present, but its `value` field should be omitted.
*`minimum length: 1`*
*`maximum length: 5`* |
+| `address_levels[]` | `list<`[`AddressLevel`](types/address_level.md)`>` (optional) | Names of the sub-country addressing areas the address belongs to, including the city or locality, in descending order of generality.
The list is sorted so that the highest, or most general, level comes first (*e.g.*, region) and the lowest, or most particular level, comes last (*e.g.*, city or town).
The number of items in this list and their meaning is country-dependent. For example, in the United States, we expect two items: the state, and the locality or municipality within the state. Other countries might have as few as one, or even three or more.
When a specific level that is required for a country is not known. most likely because the data provider has not supplied it and we have not derived it from another source, the list item corresponding to that level must be present, but its `value` field should be omitted.
*Minimum length: 1*
*Maximum length: 5* |
| `address_levels[].value` | [`StrippedString`](../system/stripped_string.md) (optional) | A string without leading or trailing whitespace |
| `country` | [`CountryCodeAlpha2`](../system/country_code_alpha2.md) | The country the address belongs to, as an ISO 3166-1 alpha-2 country code. |
-| `number` | [`StrippedString`](../system/stripped_string.md) (optional) | The house number.
This field does not necessarily contain an integer or even a number. Values such as "74B", "189 1/2", and "208.5", where the non-integer or non-number part is part of the house number, not a unit number, are in common use.
*`minimum length: 1`* |
-| `postal_city` | [`StrippedString`](../system/stripped_string.md) (optional) | The postal authority designated city name, if applicable.
In some countries or regions, a mailing address may need to specify a different city name than the city that actually contains the address coordinates. This optional field can be used to specify the alternate city name to use.
For example:
- The postal city for the US address *716 East County Road, Winchester, Indiana* is Ridgeville. - The postal city for the Slovenian address *Tomaj 71, 6221 Tomaj, Slovenia* is Dutovlje.
*`minimum length: 1`* |
-| `postcode` | [`StrippedString`](../system/stripped_string.md) (optional) | The postal code.
*`minimum length: 1`* |
-| `street` | [`StrippedString`](../system/stripped_string.md) (optional) | The street name.
The street name can include a type (*e.g.*, "Street" or "St", "Boulevard" or "Blvd", *etc.*) and a directional (*e.g.*, "NW" or "Northwest", "S" or "Sud"). Both type and directional, if present, may be either a prefix or a suffix to the primary name. They may either be fully spelled-out or abbreviated.
*`minimum length: 1`* |
-| `unit` | [`StrippedString`](../system/stripped_string.md) (optional) | The secondary address unit designator.
In the case where the primary street address is divided into secondary units, which may be apartments, floors, or even buildings if the primary street address is a campus, this field names the specific secondary unit being addressed.
*`minimum length: 1`* |
+| `number` | [`StrippedString`](../system/stripped_string.md) (optional) | The house number.
This field does not necessarily contain an integer or even a number. Values such as "74B", "189 1/2", and "208.5", where the non-integer or non-number part is part of the house number, not a unit number, are in common use.
*Minimum length: 1* |
+| `postal_city` | [`StrippedString`](../system/stripped_string.md) (optional) | The postal authority designated city name, if applicable.
In some countries or regions, a mailing address may need to specify a different city name than the city that actually contains the address coordinates. This optional field can be used to specify the alternate city name to use.
For example:
- The postal city for the US address *716 East County Road, Winchester, Indiana* is Ridgeville. - The postal city for the Slovenian address *Tomaj 71, 6221 Tomaj, Slovenia* is Dutovlje.
*Minimum length: 1* |
+| `postcode` | [`StrippedString`](../system/stripped_string.md) (optional) | The postal code.
*Minimum length: 1* |
+| `street` | [`StrippedString`](../system/stripped_string.md) (optional) | The street name.
The street name can include a type (*e.g.*, "Street" or "St", "Boulevard" or "Blvd", *etc.*) and a directional (*e.g.*, "NW" or "Northwest", "S" or "Sud"). Both type and directional, if present, may be either a prefix or a suffix to the primary name. They may either be fully spelled-out or abbreviated.
*Minimum length: 1* |
+| `unit` | [`StrippedString`](../system/stripped_string.md) (optional) | The secondary address unit designator.
In the case where the primary street address is divided into secondary units, which may be apartments, floors, or even buildings if the primary street address is a campus, this field names the specific secondary unit being addressed.
*Minimum length: 1* |
## Examples
| Column | Value |
| -------: | ------- |
| `id` | `416ab01c-d836-4c4f-aedc-2f30941ce94d` |
+| `bbox.xmin` | `-176.56381225585938` |
+| `bbox.xmax` | `-176.56378173828125` |
+| `bbox.ymin` | `-43.94719696044922` |
+| `bbox.ymax` | `-43.94718933105469` |
| `geometry` | `POINT (-176.5637854 -43.9471955)` |
| `theme` | `addresses` |
| `type` | `address` |
diff --git a/docs/schema/reference/addresses/types/address_level.md b/docs/schema/reference/addresses/types/address_level.md
index 489b6bde..b0762021 100644
--- a/docs/schema/reference/addresses/types/address_level.md
+++ b/docs/schema/reference/addresses/types/address_level.md
@@ -19,7 +19,7 @@ countries and regions, address levels do not necessarily correspond to administr
| Name | Type | Description |
| -----: | :----: | ------------- |
-| `value` | [`StrippedString`](../../system/stripped_string.md) (optional) | A string without leading or trailing whitespace
*`minimum length: 1`* |
+| `value` | [`StrippedString`](../../system/stripped_string.md) (optional) | A string without leading or trailing whitespace
*Minimum length: 1* |
## Used By
diff --git a/docs/schema/reference/base/bathymetry.md b/docs/schema/reference/base/bathymetry.md
index 878bd8e2..ebc1fa9a 100644
--- a/docs/schema/reference/base/bathymetry.md
+++ b/docs/schema/reference/base/bathymetry.md
@@ -12,8 +12,8 @@ lake beds or ocean floors.
| Name | Type | Description |
| -----: | :----: | ------------- |
| `id` | [`Id`](../system/ref/id.md) | A feature ID. This may be an ID associated with the Global Entity Reference System (GERS) if—and-only-if the feature represents an entity that is part of GERS. |
-| `bbox` | `bbox` (optional) | An optional bounding box for the feature |
-| `geometry` | `geometry` | Shape of the underwater area, which may be a polygon or multi-polygon.
*Allowed geometry types: MultiPolygon, Polygon* |
+| `bbox` | [`bbox`](../system/primitive/geometry.md) (optional) | An optional bounding box for the feature |
+| `geometry` | [`geometry`](../system/primitive/geometry.md) | Shape of the underwater area, which may be a polygon or multi-polygon.
*Allowed geometry types: MultiPolygon, Polygon* |
| `theme` | `"base"` | |
| `type` | `"bathymetry"` | |
| `version` | [`FeatureVersion`](../core/feature_version.md) | |
@@ -37,7 +37,11 @@ lake beds or ocean floors.
| Column | Value |
| -------: | ------- |
| `id` | `5d40bd6c-db14-5492-b29f-5e25a59032bc` |
-| `geometry` | `MULTIPOLYGON (((-170.71296928 -76.744313428, -170.719841483 -76.757076376, -170.731061124 -76.761566...` |
+| `bbox.xmin` | `-175.12791442871094` |
+| `bbox.xmax` | `-170.05111694335938` |
+| `bbox.ymin` | `-77.9718246459961` |
+| `bbox.ymax` | `-75.64299774169922` |
+| `geometry` | `MULTIPOLYGON (((-170.71296928 -76.744313428, -170.719841483 -76.757076376, -170.731061124 -76.761...` |
| `theme` | `base` |
| `type` | `bathymetry` |
| `version` | `0` |
diff --git a/docs/schema/reference/base/infrastructure.md b/docs/schema/reference/base/infrastructure.md
index 4365889c..9cc46dde 100644
--- a/docs/schema/reference/base/infrastructure.md
+++ b/docs/schema/reference/base/infrastructure.md
@@ -12,8 +12,8 @@ such as bridges, airports, runways, aerialways, communication towers, and power
| Name | Type | Description |
| -----: | :----: | ------------- |
| `id` | [`Id`](../system/ref/id.md) | A feature ID. This may be an ID associated with the Global Entity Reference System (GERS) if—and-only-if the feature represents an entity that is part of GERS. |
-| `bbox` | `bbox` (optional) | An optional bounding box for the feature |
-| `geometry` | `geometry` | Geometry of the infrastructure feature, which may be a point, line string, polygon, or multi-polygon.
*Allowed geometry types: LineString, MultiPolygon, Point, Polygon* |
+| `bbox` | [`bbox`](../system/primitive/geometry.md) (optional) | An optional bounding box for the feature |
+| `geometry` | [`geometry`](../system/primitive/geometry.md) | Geometry of the infrastructure feature, which may be a point, line string, polygon, or multi-polygon.
*Allowed geometry types: LineString, MultiPolygon, Point, Polygon* |
| `theme` | `"base"` | |
| `type` | `"infrastructure"` | |
| `version` | [`FeatureVersion`](../core/feature_version.md) | |
@@ -38,7 +38,7 @@ such as bridges, airports, runways, aerialways, communication towers, and power
| `names.rules[].language` | [`LanguageTag`](../system/language_tag.md) (optional) | The language in which the name `value` is specified, if known, as an IETF BCP 47 language tag. |
| `names.rules[].perspectives` | [`Perspectives`](../core/perspectives.md) (optional) | Political perspectives from which a named feature is viewed. |
| `names.rules[].perspectives.mode` | [`PerspectiveMode`](../core/perspective_mode.md) | Whether the perspective holder accepts or disputes this name. |
-| `names.rules[].perspectives.countries` | [`CountryCodeAlpha2`](../system/country_code_alpha2.md) (list) | Countries holding the given mode of perspective. |
+| `names.rules[].perspectives.countries` | `list<`[`CountryCodeAlpha2`](../system/country_code_alpha2.md)`>` | Countries holding the given mode of perspective. |
| `names.rules[].between` | [`LinearlyReferencedRange`](../core/scoping/linearly_referenced_range.md) (list, optional) | The linearly-referenced sub-segment of the geometry, specified as a range (pair) of percentage displacements from the start of the geometry, that the containing NameRule applies to. |
| `names.rules[].side` | [`Side`](../core/scoping/side.md) (optional) | The side, either left or right, that the containing NameRule applies to. |
| `level` | [`Level`](../core/level.md) (optional) | Z-order of the feature where 0 is visual level |
@@ -50,6 +50,10 @@ such as bridges, airports, runways, aerialways, communication towers, and power
| Column | Value |
| -------: | ------- |
| `id` | `e9e3d506-89c0-3473-8cee-5e5ac6596d6c` |
+| `bbox.xmin` | `-180.0` |
+| `bbox.xmax` | `-179.99998474121094` |
+| `bbox.ymin` | `-82.42408752441406` |
+| `bbox.ymax` | `-82.42407989501953` |
| `geometry` | `POINT (-179.9999994 -82.42408)` |
| `theme` | `base` |
| `type` | `infrastructure` |
@@ -68,10 +72,5 @@ such as bridges, airports, runways, aerialways, communication towers, and power
| `names.common` | `null` |
| `names.rules` | `null` |
| `level` | `null` |
-| `source_tags.description` | `1036 km to South Pole.` |
-| `source_tags.information` | `route_marker` |
-| `source_tags.note` | `The road continue in west side of the map` |
-| `source_tags.start_date` | `2007` |
-| `source_tags.tourism` | `information` |
-| `source_tags.wikipedia` | `en:South Pole Traverse` |
+| `source_tags` | `{"description": "1036 km to South Pole.", "information": "route_marker", "note": "The road contin...` |
| `wikidata` | `Q800558` |
diff --git a/docs/schema/reference/base/land.md b/docs/schema/reference/base/land.md
index e6f4b4c5..29bde9f1 100644
--- a/docs/schema/reference/base/land.md
+++ b/docs/schema/reference/base/land.md
@@ -22,8 +22,8 @@ TODO: Update this description when the relationship to `land_cover` is better un
| Name | Type | Description |
| -----: | :----: | ------------- |
| `id` | [`Id`](../system/ref/id.md) | A feature ID. This may be an ID associated with the Global Entity Reference System (GERS) if—and-only-if the feature represents an entity that is part of GERS. |
-| `bbox` | `bbox` (optional) | An optional bounding box for the feature |
-| `geometry` | `geometry` | Geometry of the land feature, which may be a point, line string, polygon, or multi-polygon.
*Allowed geometry types: LineString, MultiPolygon, Point, Polygon* |
+| `bbox` | [`bbox`](../system/primitive/geometry.md) (optional) | An optional bounding box for the feature |
+| `geometry` | [`geometry`](../system/primitive/geometry.md) | Geometry of the land feature, which may be a point, line string, polygon, or multi-polygon.
*Allowed geometry types: LineString, MultiPolygon, Point, Polygon* |
| `theme` | `"base"` | |
| `type` | `"land"` | |
| `version` | [`FeatureVersion`](../core/feature_version.md) | |
@@ -48,7 +48,7 @@ TODO: Update this description when the relationship to `land_cover` is better un
| `names.rules[].language` | [`LanguageTag`](../system/language_tag.md) (optional) | The language in which the name `value` is specified, if known, as an IETF BCP 47 language tag. |
| `names.rules[].perspectives` | [`Perspectives`](../core/perspectives.md) (optional) | Political perspectives from which a named feature is viewed. |
| `names.rules[].perspectives.mode` | [`PerspectiveMode`](../core/perspective_mode.md) | Whether the perspective holder accepts or disputes this name. |
-| `names.rules[].perspectives.countries` | [`CountryCodeAlpha2`](../system/country_code_alpha2.md) (list) | Countries holding the given mode of perspective. |
+| `names.rules[].perspectives.countries` | `list<`[`CountryCodeAlpha2`](../system/country_code_alpha2.md)`>` | Countries holding the given mode of perspective. |
| `names.rules[].between` | [`LinearlyReferencedRange`](../core/scoping/linearly_referenced_range.md) (list, optional) | The linearly-referenced sub-segment of the geometry, specified as a range (pair) of percentage displacements from the start of the geometry, that the containing NameRule applies to. |
| `names.rules[].side` | [`Side`](../core/scoping/side.md) (optional) | The side, either left or right, that the containing NameRule applies to. |
| `level` | [`Level`](../core/level.md) (optional) | Z-order of the feature where 0 is visual level |
@@ -60,6 +60,10 @@ TODO: Update this description when the relationship to `land_cover` is better un
| Column | Value |
| -------: | ------- |
| `id` | `70fc3596-a987-3fea-820c-c016c0a2f0da` |
+| `bbox.xmin` | `-178.7000274658203` |
+| `bbox.xmax` | `-178.6999969482422` |
+| `bbox.ymin` | `-85.45001220703125` |
+| `bbox.ymax` | `-85.44999694824219` |
| `geometry` | `POINT (-178.7 -85.45)` |
| `theme` | `base` |
| `type` | `land` |
@@ -78,7 +82,5 @@ TODO: Update this description when the relationship to `land_cover` is better un
| `names.common` | `null` |
| `names.rules` | `null` |
| `level` | `null` |
-| `source_tags.natural` | `cliff` |
-| `source_tags.ref:linz:place_id` | `12318` |
-| `source_tags.wikipedia` | `en:Dismal Buttress` |
+| `source_tags` | `{"natural": "cliff", "ref:linz:place_id": "12318", "wikipedia": "en:Dismal Buttress"}` |
| `wikidata` | `Q5282342` |
diff --git a/docs/schema/reference/base/land_cover.md b/docs/schema/reference/base/land_cover.md
index f90be560..4e9fbe90 100644
--- a/docs/schema/reference/base/land_cover.md
+++ b/docs/schema/reference/base/land_cover.md
@@ -19,8 +19,8 @@ TODO: Explain relationship to `Land` features.
| Name | Type | Description |
| -----: | :----: | ------------- |
| `id` | [`Id`](../system/ref/id.md) | A feature ID. This may be an ID associated with the Global Entity Reference System (GERS) if—and-only-if the feature represents an entity that is part of GERS. |
-| `bbox` | `bbox` (optional) | An optional bounding box for the feature |
-| `geometry` | `geometry` | Shape of the covered land area, which may be a polygon or multi-polygon.
*Allowed geometry types: MultiPolygon, Polygon* |
+| `bbox` | [`bbox`](../system/primitive/geometry.md) (optional) | An optional bounding box for the feature |
+| `geometry` | [`geometry`](../system/primitive/geometry.md) | Shape of the covered land area, which may be a polygon or multi-polygon.
*Allowed geometry types: MultiPolygon, Polygon* |
| `theme` | `"base"` | |
| `type` | `"land_cover"` | |
| `version` | [`FeatureVersion`](../core/feature_version.md) | |
@@ -44,7 +44,11 @@ TODO: Explain relationship to `Land` features.
| Column | Value |
| -------: | ------- |
| `id` | `c347312d-012b-5e73-8bd3-a10d04b2981d` |
-| `geometry` | `POLYGON ((-179.99877531181616 65.95172539425603, -179.99740705536922 65.95265577758867, -179.9975172...` |
+| `bbox.xmin` | `-180.0001983642578` |
+| `bbox.xmax` | `-179.99313354492188` |
+| `bbox.ymin` | `65.95172119140625` |
+| `bbox.ymax` | `65.96218872070312` |
+| `geometry` | `POLYGON ((-179.99877531181616 65.95172539425603, -179.99740705536922 65.95265577758867, -179.9975...` |
| `theme` | `base` |
| `type` | `land_cover` |
| `version` | `0` |
diff --git a/docs/schema/reference/base/land_use.md b/docs/schema/reference/base/land_use.md
index f742bc35..66efbcb3 100644
--- a/docs/schema/reference/base/land_use.md
+++ b/docs/schema/reference/base/land_use.md
@@ -17,8 +17,8 @@ TODO: Explain relationship to `Land` features.
| Name | Type | Description |
| -----: | :----: | ------------- |
| `id` | [`Id`](../system/ref/id.md) | A feature ID. This may be an ID associated with the Global Entity Reference System (GERS) if—and-only-if the feature represents an entity that is part of GERS. |
-| `bbox` | `bbox` (optional) | An optional bounding box for the feature |
-| `geometry` | `geometry` | Geometry of the land use area, which may be a point, line string, polygon, or multi-polygon.
*Allowed geometry types: LineString, MultiPolygon, Point, Polygon* |
+| `bbox` | [`bbox`](../system/primitive/geometry.md) (optional) | An optional bounding box for the feature |
+| `geometry` | [`geometry`](../system/primitive/geometry.md) | Geometry of the land use area, which may be a point, line string, polygon, or multi-polygon.
*Allowed geometry types: LineString, MultiPolygon, Point, Polygon* |
| `theme` | `"base"` | |
| `type` | `"land_use"` | |
| `version` | [`FeatureVersion`](../core/feature_version.md) | |
@@ -43,7 +43,7 @@ TODO: Explain relationship to `Land` features.
| `names.rules[].language` | [`LanguageTag`](../system/language_tag.md) (optional) | The language in which the name `value` is specified, if known, as an IETF BCP 47 language tag. |
| `names.rules[].perspectives` | [`Perspectives`](../core/perspectives.md) (optional) | Political perspectives from which a named feature is viewed. |
| `names.rules[].perspectives.mode` | [`PerspectiveMode`](../core/perspective_mode.md) | Whether the perspective holder accepts or disputes this name. |
-| `names.rules[].perspectives.countries` | [`CountryCodeAlpha2`](../system/country_code_alpha2.md) (list) | Countries holding the given mode of perspective. |
+| `names.rules[].perspectives.countries` | `list<`[`CountryCodeAlpha2`](../system/country_code_alpha2.md)`>` | Countries holding the given mode of perspective. |
| `names.rules[].between` | [`LinearlyReferencedRange`](../core/scoping/linearly_referenced_range.md) (list, optional) | The linearly-referenced sub-segment of the geometry, specified as a range (pair) of percentage displacements from the start of the geometry, that the containing NameRule applies to. |
| `names.rules[].side` | [`Side`](../core/scoping/side.md) (optional) | The side, either left or right, that the containing NameRule applies to. |
| `level` | [`Level`](../core/level.md) (optional) | Z-order of the feature where 0 is visual level |
@@ -55,7 +55,11 @@ TODO: Explain relationship to `Land` features.
| Column | Value |
| -------: | ------- |
| `id` | `1e1f6095-5bd2-3fdb-a422-41351b848e9d` |
-| `geometry` | `POLYGON ((-176.5623454 -43.9567812, -176.5627644 -43.9561272, -176.5626898 -43.9557432, -176.5624297...` |
+| `bbox.xmin` | `-176.56825256347656` |
+| `bbox.xmax` | `-176.56231689453125` |
+| `bbox.ymin` | `-43.96001052856445` |
+| `bbox.ymax` | `-43.95420837402344` |
+| `geometry` | `POLYGON ((-176.5623454 -43.9567812, -176.5627644 -43.9561272, -176.5626898 -43.9557432, -176.5624...` |
| `theme` | `base` |
| `type` | `land_use` |
| `version` | `0` |
@@ -73,8 +77,5 @@ TODO: Explain relationship to `Land` features.
| `names.common` | `null` |
| `names.rules` | `null` |
| `level` | `null` |
-| `source_tags.LINZ:source_version` | `V16` |
-| `source_tags.attribution` | `http://wiki.osm.org/wiki/Attribution#LINZ` |
-| `source_tags.leisure` | `golf_course` |
-| `source_tags.source_ref` | `http://www.linz.govt.nz/topography/topo-maps/` |
+| `source_tags` | `{"LINZ:source_version": "V16", "attribution": "http://wiki.osm.org/wiki/Attribution#LINZ", "leisu...` |
| `wikidata` | `null` |
diff --git a/docs/schema/reference/base/water.md b/docs/schema/reference/base/water.md
index 848e491c..6001deb7 100644
--- a/docs/schema/reference/base/water.md
+++ b/docs/schema/reference/base/water.md
@@ -33,8 +33,8 @@ and `water=*`.
| Name | Type | Description |
| -----: | :----: | ------------- |
| `id` | [`Id`](../system/ref/id.md) | A feature ID. This may be an ID associated with the Global Entity Reference System (GERS) if—and-only-if the feature represents an entity that is part of GERS. |
-| `bbox` | `bbox` (optional) | An optional bounding box for the feature |
-| `geometry` | `geometry` | Geometry of the water feature, which may be a point, line string, polygon, or multi-polygon.
*Allowed geometry types: LineString, MultiPolygon, Point, Polygon* |
+| `bbox` | [`bbox`](../system/primitive/geometry.md) (optional) | An optional bounding box for the feature |
+| `geometry` | [`geometry`](../system/primitive/geometry.md) | Geometry of the water feature, which may be a point, line string, polygon, or multi-polygon.
*Allowed geometry types: LineString, MultiPolygon, Point, Polygon* |
| `theme` | `"base"` | |
| `type` | `"water"` | |
| `version` | [`FeatureVersion`](../core/feature_version.md) | |
@@ -48,8 +48,8 @@ and `water=*`.
| `sources[].between` | [`LinearlyReferencedRange`](../core/scoping/linearly_referenced_range.md) (list, optional) | The linearly-referenced sub-segment of the geometry, specified as a range (pair) of percentage displacements from the start of the geometry, that the containing SourceItem applies to. |
| `class` | [`WaterClass`](types/water_class.md) (optional) | |
| `subtype` | [`WaterSubtype`](types/water_subtype.md) (optional) | |
-| `is_intermittent` | `boolean` (optional) | Whether the water body exists intermittently, not permanently
*`strict=True`* |
-| `is_salt` | `boolean` (optional) | Whether the water body contains salt water
*`strict=True`* |
+| `is_intermittent` | `boolean` (optional) | Whether the water body exists intermittently, not permanently
*`strict=True`* |
+| `is_salt` | `boolean` (optional) | Whether the water body contains salt water
*`strict=True`* |
| `level` | [`Level`](../core/level.md) (optional) | Z-order of the feature where 0 is visual level |
| `names` | [`Names`](../core/names.md) (optional) | |
| `names.primary` | [`StrippedString`](../system/stripped_string.md) | The most commonly used name. |
@@ -60,7 +60,7 @@ and `water=*`.
| `names.rules[].language` | [`LanguageTag`](../system/language_tag.md) (optional) | The language in which the name `value` is specified, if known, as an IETF BCP 47 language tag. |
| `names.rules[].perspectives` | [`Perspectives`](../core/perspectives.md) (optional) | Political perspectives from which a named feature is viewed. |
| `names.rules[].perspectives.mode` | [`PerspectiveMode`](../core/perspective_mode.md) | Whether the perspective holder accepts or disputes this name. |
-| `names.rules[].perspectives.countries` | [`CountryCodeAlpha2`](../system/country_code_alpha2.md) (list) | Countries holding the given mode of perspective. |
+| `names.rules[].perspectives.countries` | `list<`[`CountryCodeAlpha2`](../system/country_code_alpha2.md)`>` | Countries holding the given mode of perspective. |
| `names.rules[].between` | [`LinearlyReferencedRange`](../core/scoping/linearly_referenced_range.md) (list, optional) | The linearly-referenced sub-segment of the geometry, specified as a range (pair) of percentage displacements from the start of the geometry, that the containing NameRule applies to. |
| `names.rules[].side` | [`Side`](../core/scoping/side.md) (optional) | The side, either left or right, that the containing NameRule applies to. |
| `source_tags` | [`SourceTags`](types/source_tags.md) (map, optional) | Key/value pairs imported directly from the source data without change.
This field provides access to raw OSM entity tags for features sourced from OpenStreetMap. |
@@ -71,6 +71,10 @@ and `water=*`.
| Column | Value |
| -------: | ------- |
| `id` | `6bbb5fe5-bf26-3efa-b120-0a7079b60840` |
+| `bbox.xmin` | `-177.03179931640625` |
+| `bbox.xmax` | `-177.0317840576172` |
+| `bbox.ymin` | `-84.93480682373047` |
+| `bbox.ymax` | `-84.9347915649414` |
| `geometry` | `POINT (-177.031799 -84.934793)` |
| `theme` | `base` |
| `type` | `water` |
@@ -89,6 +93,5 @@ and `water=*`.
| `names.primary` | `Thanksgiving Point` |
| `names.common` | `null` |
| `names.rules` | `null` |
-| `source_tags.natural` | `cape` |
-| `source_tags.ref:linz:place_id` | `13433` |
+| `source_tags` | `{"natural": "cape", "ref:linz:place_id": "13433"}` |
| `wikidata` | `Q33140589` |
diff --git a/docs/schema/reference/buildings/building.md b/docs/schema/reference/buildings/building.md
index 4388c32b..235cb1b1 100644
--- a/docs/schema/reference/buildings/building.md
+++ b/docs/schema/reference/buildings/building.md
@@ -17,8 +17,8 @@ model of the building.
| Name | Type | Description |
| -----: | :----: | ------------- |
| `id` | [`Id`](../system/ref/id.md) | A feature ID. This may be an ID associated with the Global Entity Reference System (GERS) if—and-only-if the feature represents an entity that is part of GERS. |
-| `bbox` | `bbox` (optional) | An optional bounding box for the feature |
-| `geometry` | `geometry` | The building's footprint or roofprint (if traced from aerial/satellite imagery).
*Allowed geometry types: MultiPolygon, Polygon* |
+| `bbox` | [`bbox`](../system/primitive/geometry.md) (optional) | An optional bounding box for the feature |
+| `geometry` | [`geometry`](../system/primitive/geometry.md) | The building's footprint or roofprint (if traced from aerial/satellite imagery).
*Allowed geometry types: MultiPolygon, Polygon* |
| `theme` | `"buildings"` | |
| `type` | `"building"` | |
| `version` | [`FeatureVersion`](../core/feature_version.md) | |
@@ -32,7 +32,7 @@ model of the building.
| `sources[].between` | [`LinearlyReferencedRange`](../core/scoping/linearly_referenced_range.md) (list, optional) | The linearly-referenced sub-segment of the geometry, specified as a range (pair) of percentage displacements from the start of the geometry, that the containing SourceItem applies to. |
| `subtype` | [`BuildingSubtype`](types/building_subtype.md) (optional) | A broad classification of the current use and purpose of the building.
If the current use of the building no longer accords with the original built purpose, the current use should be specified. For example, a building built as a train station but later converted into a shopping mall would have the value `"commercial"` rather than `"transportation"`. |
| `class` | [`BuildingClass`](types/building_class.md) (optional) | A more specific classification of the current use and purpose of the building.
If the current use of the building no longer accords with the original built purpose, the current use should be specified. |
-| `has_parts` | `boolean` (optional) | Whether the building has associated building part features
*`strict=True`* |
+| `has_parts` | `boolean` (optional) | Whether the building has associated building part features
*`strict=True`* |
| `names` | [`Names`](../core/names.md) (optional) | |
| `names.primary` | [`StrippedString`](../system/stripped_string.md) | The most commonly used name. |
| `names.common` | [`CommonNames`](../core/common_names.md) (map, optional) | |
@@ -42,31 +42,35 @@ model of the building.
| `names.rules[].language` | [`LanguageTag`](../system/language_tag.md) (optional) | The language in which the name `value` is specified, if known, as an IETF BCP 47 language tag. |
| `names.rules[].perspectives` | [`Perspectives`](../core/perspectives.md) (optional) | Political perspectives from which a named feature is viewed. |
| `names.rules[].perspectives.mode` | [`PerspectiveMode`](../core/perspective_mode.md) | Whether the perspective holder accepts or disputes this name. |
-| `names.rules[].perspectives.countries` | [`CountryCodeAlpha2`](../system/country_code_alpha2.md) (list) | Countries holding the given mode of perspective. |
+| `names.rules[].perspectives.countries` | `list<`[`CountryCodeAlpha2`](../system/country_code_alpha2.md)`>` | Countries holding the given mode of perspective. |
| `names.rules[].between` | [`LinearlyReferencedRange`](../core/scoping/linearly_referenced_range.md) (list, optional) | The linearly-referenced sub-segment of the geometry, specified as a range (pair) of percentage displacements from the start of the geometry, that the containing NameRule applies to. |
| `names.rules[].side` | [`Side`](../core/scoping/side.md) (optional) | The side, either left or right, that the containing NameRule applies to. |
| `level` | [`Level`](../core/level.md) (optional) | Z-order of the feature where 0 is visual level |
-| `height` | `float64` (optional) | Height of the building or part in meters.
This is the distance from the lowest point to the highest point.
*`> 0`* |
-| `is_underground` | `boolean` (optional) | Whether the entire building or part is completely below ground.
The underground flag is useful for display purposes. Buildings and building parts that are entirely below ground can be styled differently or omitted from the rendered image.
This flag is conceptually different from the `level` field, which indicates relative z-ordering and, notably, can be negative even if the building is entirely above-ground.
*`strict=True`* |
-| `num_floors` | `int32` (optional) | Number of above-ground floors of the building or part.
*`> 0`* |
-| `num_floors_underground` | `int32` (optional) | Number of below-ground floors of the building or part.
*`> 0`* |
-| `min_height` | `float64` (optional) | Altitude above ground where the bottom of the building or building part starts.
If present, this value indicates that the lowest part of the building or building part starts is above ground level. |
-| `min_floor` | `int32` (optional) | Start floor of this building or part.
If present, this value indicates that the building or part is "floating" and its bottom-most floor is above ground level, usually because it is part of a larger building in which some parts do reach down to ground level. An example is a building that has an entry road or driveway at ground level into an interior courtyard, where part of the building bridges above the entry road. This property may sometimes be populated when `min_height` is missing and in these cases can be used as a proxy for `min_height`.
*`> 0`* |
+| `height` | [`float64`](../system/primitive/primitives.md) (optional) | Height of the building or part in meters.
This is the distance from the lowest point to the highest point.
*`> 0`* |
+| `is_underground` | `boolean` (optional) | Whether the entire building or part is completely below ground.
The underground flag is useful for display purposes. Buildings and building parts that are entirely below ground can be styled differently or omitted from the rendered image.
This flag is conceptually different from the `level` field, which indicates relative z-ordering and, notably, can be negative even if the building is entirely above-ground.
*`strict=True`* |
+| `num_floors` | [`int32`](../system/primitive/primitives.md) (optional) | Number of above-ground floors of the building or part.
*`> 0`* |
+| `num_floors_underground` | [`int32`](../system/primitive/primitives.md) (optional) | Number of below-ground floors of the building or part.
*`> 0`* |
+| `min_height` | [`float64`](../system/primitive/primitives.md) (optional) | Altitude above ground where the bottom of the building or building part starts.
If present, this value indicates that the lowest part of the building or building part starts is above ground level. |
+| `min_floor` | [`int32`](../system/primitive/primitives.md) (optional) | Start floor of this building or part.
If present, this value indicates that the building or part is "floating" and its bottom-most floor is above ground level, usually because it is part of a larger building in which some parts do reach down to ground level. An example is a building that has an entry road or driveway at ground level into an interior courtyard, where part of the building bridges above the entry road. This property may sometimes be populated when `min_height` is missing and in these cases can be used as a proxy for `min_height`.
*`> 0`* |
| `facade_color` | [`HexColor`](../system/hex_color.md) (optional) | Facade color in `#rgb` or `#rrggbb` hex notation |
| `facade_material` | [`FacadeMaterial`](types/facade_material.md) (optional) | Outer surface material of the facade |
| `roof_material` | [`RoofMaterial`](types/roof_material.md) (optional) | Outer surface material of the roof |
| `roof_shape` | [`RoofShape`](types/roof_shape.md) (optional) | Shape of the roof |
-| `roof_direction` | `float64` (optional) | Bearing of the roof ridge line in degrees
*`≥ 0`*
*`< 360`* |
+| `roof_direction` | [`float64`](../system/primitive/primitives.md) (optional) | Bearing of the roof ridge line in degrees
*`≥ 0`*
*`< 360`* |
| `roof_orientation` | [`RoofOrientation`](types/roof_orientation.md) (optional) | Orientation of the roof shape relative to the footprint shape |
| `roof_color` | [`HexColor`](../system/hex_color.md) (optional) | The roof color in `#rgb` or `#rrggbb` hex notation |
-| `roof_height` | `float64` (optional) | Height of the roof in meters.
This is the distance from the base of the roof to its highest point. |
+| `roof_height` | [`float64`](../system/primitive/primitives.md) (optional) | Height of the roof in meters.
This is the distance from the base of the roof to its highest point. |
## Examples
| Column | Value |
| -------: | ------- |
| `id` | `148f35b1-7bc1-4180-9280-10d39b13883b` |
-| `geometry` | `POLYGON ((-176.6435004 -43.9938042, -176.6435738 -43.9937107, -176.6437726 -43.9937913, -176.6436992...` |
+| `bbox.xmin` | `-176.643798828125` |
+| `bbox.xmax` | `-176.64349365234375` |
+| `bbox.ymin` | `-43.9938850402832` |
+| `bbox.ymax` | `-43.993709564208984` |
+| `geometry` | `POLYGON ((-176.6435004 -43.9938042, -176.6435738 -43.9937107, -176.6437726 -43.9937913, -176.6436...` |
| `theme` | `buildings` |
| `type` | `building` |
| `version` | `1` |
diff --git a/docs/schema/reference/buildings/building_part.md b/docs/schema/reference/buildings/building_part.md
index cb5f6c07..0a5da58e 100644
--- a/docs/schema/reference/buildings/building_part.md
+++ b/docs/schema/reference/buildings/building_part.md
@@ -20,8 +20,8 @@ vertical dimension.
| Name | Type | Description |
| -----: | :----: | ------------- |
| `id` | [`Id`](../system/ref/id.md) | A feature ID. This may be an ID associated with the Global Entity Reference System (GERS) if—and-only-if the feature represents an entity that is part of GERS. |
-| `bbox` | `bbox` (optional) | An optional bounding box for the feature |
-| `geometry` | `geometry` | The footprint or roofprint of the building part.
*Allowed geometry types: MultiPolygon, Polygon* |
+| `bbox` | [`bbox`](../system/primitive/geometry.md) (optional) | An optional bounding box for the feature |
+| `geometry` | [`geometry`](../system/primitive/geometry.md) | The footprint or roofprint of the building part.
*Allowed geometry types: MultiPolygon, Polygon* |
| `theme` | `"buildings"` | |
| `type` | `"building_part"` | |
| `version` | [`FeatureVersion`](../core/feature_version.md) | |
@@ -33,7 +33,7 @@ vertical dimension.
| `sources[].update_time` | `datetime` (optional) | Last update time of the source data record. |
| `sources[].confidence` | [`ConfidenceScore`](../core/confidence_score.md) (optional) | Confidence value from the source dataset.
This is a value between 0.0 and 1.0 and is particularly relevant for ML-derived data. |
| `sources[].between` | [`LinearlyReferencedRange`](../core/scoping/linearly_referenced_range.md) (list, optional) | The linearly-referenced sub-segment of the geometry, specified as a range (pair) of percentage displacements from the start of the geometry, that the containing SourceItem applies to. |
-| `building_id` | [`Id`](../system/ref/id.md) | The building to which this part belongs
*References [`Building`](building.md) (belongs to)* |
+| `building_id` | [`Id`](../system/ref/id.md) | The building to which this part belongs
*References [`Building`](building.md) (belongs to)* |
| `names` | [`Names`](../core/names.md) (optional) | |
| `names.primary` | [`StrippedString`](../system/stripped_string.md) | The most commonly used name. |
| `names.common` | [`CommonNames`](../core/common_names.md) (map, optional) | |
@@ -43,31 +43,35 @@ vertical dimension.
| `names.rules[].language` | [`LanguageTag`](../system/language_tag.md) (optional) | The language in which the name `value` is specified, if known, as an IETF BCP 47 language tag. |
| `names.rules[].perspectives` | [`Perspectives`](../core/perspectives.md) (optional) | Political perspectives from which a named feature is viewed. |
| `names.rules[].perspectives.mode` | [`PerspectiveMode`](../core/perspective_mode.md) | Whether the perspective holder accepts or disputes this name. |
-| `names.rules[].perspectives.countries` | [`CountryCodeAlpha2`](../system/country_code_alpha2.md) (list) | Countries holding the given mode of perspective. |
+| `names.rules[].perspectives.countries` | `list<`[`CountryCodeAlpha2`](../system/country_code_alpha2.md)`>` | Countries holding the given mode of perspective. |
| `names.rules[].between` | [`LinearlyReferencedRange`](../core/scoping/linearly_referenced_range.md) (list, optional) | The linearly-referenced sub-segment of the geometry, specified as a range (pair) of percentage displacements from the start of the geometry, that the containing NameRule applies to. |
| `names.rules[].side` | [`Side`](../core/scoping/side.md) (optional) | The side, either left or right, that the containing NameRule applies to. |
| `level` | [`Level`](../core/level.md) (optional) | Z-order of the feature where 0 is visual level |
-| `height` | `float64` (optional) | Height of the building or part in meters.
This is the distance from the lowest point to the highest point.
*`> 0`* |
-| `is_underground` | `boolean` (optional) | Whether the entire building or part is completely below ground.
The underground flag is useful for display purposes. Buildings and building parts that are entirely below ground can be styled differently or omitted from the rendered image.
This flag is conceptually different from the `level` field, which indicates relative z-ordering and, notably, can be negative even if the building is entirely above-ground.
*`strict=True`* |
-| `num_floors` | `int32` (optional) | Number of above-ground floors of the building or part.
*`> 0`* |
-| `num_floors_underground` | `int32` (optional) | Number of below-ground floors of the building or part.
*`> 0`* |
-| `min_height` | `float64` (optional) | Altitude above ground where the bottom of the building or building part starts.
If present, this value indicates that the lowest part of the building or building part starts is above ground level. |
-| `min_floor` | `int32` (optional) | Start floor of this building or part.
If present, this value indicates that the building or part is "floating" and its bottom-most floor is above ground level, usually because it is part of a larger building in which some parts do reach down to ground level. An example is a building that has an entry road or driveway at ground level into an interior courtyard, where part of the building bridges above the entry road. This property may sometimes be populated when `min_height` is missing and in these cases can be used as a proxy for `min_height`.
*`> 0`* |
+| `height` | [`float64`](../system/primitive/primitives.md) (optional) | Height of the building or part in meters.
This is the distance from the lowest point to the highest point.
*`> 0`* |
+| `is_underground` | `boolean` (optional) | Whether the entire building or part is completely below ground.
The underground flag is useful for display purposes. Buildings and building parts that are entirely below ground can be styled differently or omitted from the rendered image.
This flag is conceptually different from the `level` field, which indicates relative z-ordering and, notably, can be negative even if the building is entirely above-ground.
*`strict=True`* |
+| `num_floors` | [`int32`](../system/primitive/primitives.md) (optional) | Number of above-ground floors of the building or part.
*`> 0`* |
+| `num_floors_underground` | [`int32`](../system/primitive/primitives.md) (optional) | Number of below-ground floors of the building or part.
*`> 0`* |
+| `min_height` | [`float64`](../system/primitive/primitives.md) (optional) | Altitude above ground where the bottom of the building or building part starts.
If present, this value indicates that the lowest part of the building or building part starts is above ground level. |
+| `min_floor` | [`int32`](../system/primitive/primitives.md) (optional) | Start floor of this building or part.
If present, this value indicates that the building or part is "floating" and its bottom-most floor is above ground level, usually because it is part of a larger building in which some parts do reach down to ground level. An example is a building that has an entry road or driveway at ground level into an interior courtyard, where part of the building bridges above the entry road. This property may sometimes be populated when `min_height` is missing and in these cases can be used as a proxy for `min_height`.
*`> 0`* |
| `facade_color` | [`HexColor`](../system/hex_color.md) (optional) | Facade color in `#rgb` or `#rrggbb` hex notation |
| `facade_material` | [`FacadeMaterial`](types/facade_material.md) (optional) | Outer surface material of the facade |
| `roof_material` | [`RoofMaterial`](types/roof_material.md) (optional) | Outer surface material of the roof |
| `roof_shape` | [`RoofShape`](types/roof_shape.md) (optional) | Shape of the roof |
-| `roof_direction` | `float64` (optional) | Bearing of the roof ridge line in degrees
*`≥ 0`*
*`< 360`* |
+| `roof_direction` | [`float64`](../system/primitive/primitives.md) (optional) | Bearing of the roof ridge line in degrees
*`≥ 0`*
*`< 360`* |
| `roof_orientation` | [`RoofOrientation`](types/roof_orientation.md) (optional) | Orientation of the roof shape relative to the footprint shape |
| `roof_color` | [`HexColor`](../system/hex_color.md) (optional) | The roof color in `#rgb` or `#rrggbb` hex notation |
-| `roof_height` | `float64` (optional) | Height of the roof in meters.
This is the distance from the base of the roof to its highest point. |
+| `roof_height` | [`float64`](../system/primitive/primitives.md) (optional) | Height of the roof in meters.
This is the distance from the base of the roof to its highest point. |
## Examples
| Column | Value |
| -------: | ------- |
| `id` | `19412d64-51ac-3d6a-ac2f-8a8c8b91bb60` |
-| `geometry` | `POLYGON ((-73.2462509 -39.8108937, -73.2462755 -39.8109047, -73.246291 -39.8109182, -73.2463022 -39....` |
+| `bbox.xmin` | `-73.24630737304688` |
+| `bbox.xmax` | `-73.24613952636719` |
+| `bbox.ymin` | `-39.81101608276367` |
+| `bbox.ymax` | `-39.81088638305664` |
+| `geometry` | `POLYGON ((-73.2462509 -39.8108937, -73.2462755 -39.8109047, -73.246291 -39.8109182, -73.2463022 -...` |
| `theme` | `buildings` |
| `type` | `building_part` |
| `version` | `0` |
diff --git a/docs/schema/reference/core/name_rule.md b/docs/schema/reference/core/name_rule.md
index a7464b92..4b1c0308 100644
--- a/docs/schema/reference/core/name_rule.md
+++ b/docs/schema/reference/core/name_rule.md
@@ -18,12 +18,12 @@ Examples might include:
| Name | Type | Description |
| -----: | :----: | ------------- |
-| `value` | [`StrippedString`](../system/stripped_string.md) | The actual name value.
*`minimum length: 1`* |
+| `value` | [`StrippedString`](../system/stripped_string.md) | The actual name value.
*Minimum length: 1* |
| `variant` | [`NameVariant`](name_variant.md) | The name variant for this name rule. |
| `language` | [`LanguageTag`](../system/language_tag.md) (optional) | The language in which the name `value` is specified, if known, as an IETF BCP 47 language tag. |
| `perspectives` | [`Perspectives`](perspectives.md) (optional) | Political perspectives from which a named feature is viewed. |
| `perspectives.mode` | [`PerspectiveMode`](perspective_mode.md) | Whether the perspective holder accepts or disputes this name. |
-| `perspectives.countries` | [`CountryCodeAlpha2`](../system/country_code_alpha2.md) (list) | Countries holding the given mode of perspective. |
+| `perspectives.countries` | `list<`[`CountryCodeAlpha2`](../system/country_code_alpha2.md)`>` | Countries holding the given mode of perspective. |
| `between` | [`LinearlyReferencedRange`](scoping/linearly_referenced_range.md) (list, optional) | The linearly-referenced sub-segment of the geometry, specified as a range (pair) of percentage displacements from the start of the geometry, that the containing NameRule applies to. |
| `side` | [`Side`](scoping/side.md) (optional) | The side, either left or right, that the containing NameRule applies to. |
diff --git a/docs/schema/reference/core/names.md b/docs/schema/reference/core/names.md
index 9da02614..220658c5 100644
--- a/docs/schema/reference/core/names.md
+++ b/docs/schema/reference/core/names.md
@@ -6,7 +6,7 @@ Multilingual names container.
| Name | Type | Description |
| -----: | :----: | ------------- |
-| `primary` | [`StrippedString`](../system/stripped_string.md) | The most commonly used name.
*`minimum length: 1`* |
+| `primary` | [`StrippedString`](../system/stripped_string.md) | The most commonly used name.
*Minimum length: 1* |
| `common` | [`CommonNames`](common_names.md) (map, optional) | |
| `rules[]` | `list<`[`NameRule`](name_rule.md)`>` (optional) | Rules for names that cannot be specified in the simple common names property. These rules can cover other name variants such as official, alternate, and short; and they can optionally include geometric scoping (linear referencing) and side-of-road scoping for complex cases. |
| `rules[].value` | [`StrippedString`](../system/stripped_string.md) | The actual name value. |
@@ -14,7 +14,7 @@ Multilingual names container.
| `rules[].language` | [`LanguageTag`](../system/language_tag.md) (optional) | The language in which the name `value` is specified, if known, as an IETF BCP 47 language tag. |
| `rules[].perspectives` | [`Perspectives`](perspectives.md) (optional) | Political perspectives from which a named feature is viewed. |
| `rules[].perspectives.mode` | [`PerspectiveMode`](perspective_mode.md) | Whether the perspective holder accepts or disputes this name. |
-| `rules[].perspectives.countries` | [`CountryCodeAlpha2`](../system/country_code_alpha2.md) (list) | Countries holding the given mode of perspective. |
+| `rules[].perspectives.countries` | `list<`[`CountryCodeAlpha2`](../system/country_code_alpha2.md)`>` | Countries holding the given mode of perspective. |
| `rules[].between` | [`LinearlyReferencedRange`](scoping/linearly_referenced_range.md) (list, optional) | The linearly-referenced sub-segment of the geometry, specified as a range (pair) of percentage displacements from the start of the geometry, that the containing NameRule applies to. |
| `rules[].side` | [`Side`](scoping/side.md) (optional) | The side, either left or right, that the containing NameRule applies to. |
diff --git a/docs/schema/reference/core/perspectives.md b/docs/schema/reference/core/perspectives.md
index f1da9f7c..b5e634d9 100644
--- a/docs/schema/reference/core/perspectives.md
+++ b/docs/schema/reference/core/perspectives.md
@@ -7,7 +7,7 @@ Political perspectives container.
| Name | Type | Description |
| -----: | :----: | ------------- |
| `mode` | [`PerspectiveMode`](perspective_mode.md) | Whether the perspective holder accepts or disputes this name. |
-| `countries` | [`CountryCodeAlpha2`](../system/country_code_alpha2.md) (list) | Countries holding the given mode of perspective.
*`minimum length: 1`*
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)* |
+| `countries` | `list<`[`CountryCodeAlpha2`](../system/country_code_alpha2.md)`>` | Countries holding the given mode of perspective.
*Minimum length: 1*
*All items must be unique. (`UniqueItemsConstraint`)* |
## Used By
diff --git a/docs/schema/reference/core/scoping/vehicle_axle_count_selector.md b/docs/schema/reference/core/scoping/vehicle_axle_count_selector.md
index 5ca32e61..461dd926 100644
--- a/docs/schema/reference/core/scoping/vehicle_axle_count_selector.md
+++ b/docs/schema/reference/core/scoping/vehicle_axle_count_selector.md
@@ -8,7 +8,7 @@ Selects vehicles based on the number of axles they have.
| -----: | :----: | ------------- |
| `dimension` | `"axle_count"` | |
| `comparison` | [`VehicleRelation`](vehicle_relation.md) | |
-| `value` | `uint8` | Number of axles on the vehicle |
+| `value` | [`uint8`](../../system/primitive/primitives.md) | Number of axles on the vehicle |
## Used By
diff --git a/docs/schema/reference/core/scoping/vehicle_height_selector.md b/docs/schema/reference/core/scoping/vehicle_height_selector.md
index a2e0a5fd..ba56f33d 100644
--- a/docs/schema/reference/core/scoping/vehicle_height_selector.md
+++ b/docs/schema/reference/core/scoping/vehicle_height_selector.md
@@ -8,7 +8,7 @@ Selects vehicles based on their height.
| -----: | :----: | ------------- |
| `dimension` | `"height"` | |
| `comparison` | [`VehicleRelation`](vehicle_relation.md) | |
-| `value` | `float64` | Vehicle height selection threshold in the given `unit`
*`≥ 0`* |
+| `value` | [`float64`](../../system/primitive/primitives.md) | Vehicle height selection threshold in the given `unit`
*`≥ 0`* |
| `unit` | [`LengthUnit`](../length_unit.md) | Height unit in which `value` is expressed |
## Used By
diff --git a/docs/schema/reference/core/scoping/vehicle_length_selector.md b/docs/schema/reference/core/scoping/vehicle_length_selector.md
index 1cc8eafe..5a6e1c01 100644
--- a/docs/schema/reference/core/scoping/vehicle_length_selector.md
+++ b/docs/schema/reference/core/scoping/vehicle_length_selector.md
@@ -8,7 +8,7 @@ Selects vehicles based on their length.
| -----: | :----: | ------------- |
| `dimension` | `"length"` | |
| `comparison` | [`VehicleRelation`](vehicle_relation.md) | |
-| `value` | `float64` | Vehicle length selection threshold in the given `unit`
*`≥ 0`* |
+| `value` | [`float64`](../../system/primitive/primitives.md) | Vehicle length selection threshold in the given `unit`
*`≥ 0`* |
| `unit` | [`LengthUnit`](../length_unit.md) | Length unit in which `value` is expressed |
## Used By
diff --git a/docs/schema/reference/core/scoping/vehicle_weight_selector.md b/docs/schema/reference/core/scoping/vehicle_weight_selector.md
index e9d1f98a..3e42bdce 100644
--- a/docs/schema/reference/core/scoping/vehicle_weight_selector.md
+++ b/docs/schema/reference/core/scoping/vehicle_weight_selector.md
@@ -8,7 +8,7 @@ Selects vehicles based on their weight.
| -----: | :----: | ------------- |
| `dimension` | `"weight"` | |
| `comparison` | [`VehicleRelation`](vehicle_relation.md) | |
-| `value` | `float64` | Vehicle weight selection threshold in the given `unit`
*`≥ 0`* |
+| `value` | [`float64`](../../system/primitive/primitives.md) | Vehicle weight selection threshold in the given `unit`
*`≥ 0`* |
| `unit` | [`WeightUnit`](../weight_unit.md) | Weight unit in which `value` is expressed |
## Used By
diff --git a/docs/schema/reference/core/scoping/vehicle_width_selector.md b/docs/schema/reference/core/scoping/vehicle_width_selector.md
index 8759d0cb..f86e41b3 100644
--- a/docs/schema/reference/core/scoping/vehicle_width_selector.md
+++ b/docs/schema/reference/core/scoping/vehicle_width_selector.md
@@ -8,7 +8,7 @@ Selects vehicles based on their width.
| -----: | :----: | ------------- |
| `dimension` | `"width"` | |
| `comparison` | [`VehicleRelation`](vehicle_relation.md) | |
-| `value` | `float64` | Vehicle width selection threshold in the given `unit`
*`≥ 0`* |
+| `value` | [`float64`](../../system/primitive/primitives.md) | Vehicle width selection threshold in the given `unit`
*`≥ 0`* |
| `unit` | [`LengthUnit`](../length_unit.md) | Width unit in which `value` is expressed |
## Used By
diff --git a/docs/schema/reference/core/sources.md b/docs/schema/reference/core/sources.md
index 0908e45f..ac48419e 100644
--- a/docs/schema/reference/core/sources.md
+++ b/docs/schema/reference/core/sources.md
@@ -6,8 +6,8 @@ Underlying type: `list<`[`SourceItem`](source_item.md)`>`
## Constraints
-- `minimum length: 1`
-- Ensures all items in a collection are unique. (`UniqueItemsConstraint`)
+- Minimum length: 1
+- All items must be unique. (`UniqueItemsConstraint`)
## Used By
diff --git a/docs/schema/reference/divisions/division.md b/docs/schema/reference/divisions/division.md
index 602194f6..c0bce2d1 100644
--- a/docs/schema/reference/divisions/division.md
+++ b/docs/schema/reference/divisions/division.md
@@ -27,12 +27,12 @@ Examples include countries, provinces, cities, towns, neighborhoods, etc.
| `names.rules[].language` | [`LanguageTag`](../system/language_tag.md) (optional) | The language in which the name `value` is specified, if known, as an IETF BCP 47 language tag. |
| `names.rules[].perspectives` | [`Perspectives`](../core/perspectives.md) (optional) | Political perspectives from which a named feature is viewed. |
| `names.rules[].perspectives.mode` | [`PerspectiveMode`](../core/perspective_mode.md) | Whether the perspective holder accepts or disputes this name. |
-| `names.rules[].perspectives.countries` | [`CountryCodeAlpha2`](../system/country_code_alpha2.md) (list) | Countries holding the given mode of perspective. |
+| `names.rules[].perspectives.countries` | `list<`[`CountryCodeAlpha2`](../system/country_code_alpha2.md)`>` | Countries holding the given mode of perspective. |
| `names.rules[].between` | [`LinearlyReferencedRange`](../core/scoping/linearly_referenced_range.md) (list, optional) | The linearly-referenced sub-segment of the geometry, specified as a range (pair) of percentage displacements from the start of the geometry, that the containing NameRule applies to. |
| `names.rules[].side` | [`Side`](../core/scoping/side.md) (optional) | The side, either left or right, that the containing NameRule applies to. |
| `id` | [`Id`](../system/ref/id.md) | A feature ID. This may be an ID associated with the Global Entity Reference System (GERS) if—and-only-if the feature represents an entity that is part of GERS. |
-| `bbox` | `bbox` (optional) | An optional bounding box for the feature |
-| `geometry` | `geometry` | Approximate location of a position commonly associated with the real-world entity modeled by the division feature.
*Allowed geometry types: Point* |
+| `bbox` | [`bbox`](../system/primitive/geometry.md) (optional) | An optional bounding box for the feature |
+| `geometry` | [`geometry`](../system/primitive/geometry.md) | Approximate location of a position commonly associated with the real-world entity modeled by the division feature.
*Allowed geometry types: Point* |
| `theme` | `"divisions"` | |
| `type` | `"division"` | |
| `version` | [`FeatureVersion`](../core/feature_version.md) | |
@@ -46,23 +46,23 @@ Examples include countries, provinces, cities, towns, neighborhoods, etc.
| `sources[].between` | [`LinearlyReferencedRange`](../core/scoping/linearly_referenced_range.md) (list, optional) | The linearly-referenced sub-segment of the geometry, specified as a range (pair) of percentage displacements from the start of the geometry, that the containing SourceItem applies to. |
| `subtype` | [`PlaceType`](types/place_type.md) | *`admin_level` is required when `subtype` is one of: `county`, `macrocounty`, `region`, `macroregion`, `dependency`, `country`*
*`parent_division_id` is required when `subtype` ≠ `country`*
*`parent_division_id` is forbidden when `subtype` = `country`* |
| `country` | [`CountryCodeAlpha2`](../system/country_code_alpha2.md) | ISO 3166-1 alpha-2 country code of the country or country-like entity, that this division represents or belongs to.
If the entity this division represents has a country code, the country property contains it. If it does not, the country property contains the country code of the first division encountered by traversing the parent_division_id chain to the root.
For example: - The country value for the United States is 'US' - The country value for New York City is 'US' - The country value for Puerto Rico, a dependency of the US, is 'PR'. - The country value for San Juan, Puerto Rico is 'PR'.
If an entity has an internationally-recognized ISO 3166-1 alpha-2 country code, it should always be used. In cases where the schema requires the code but no internationally-recognized code is available, a synthetic code may be used provided it does not conflict with any internationally-recognized codes. |
-| `hierarchies[]` | [`Hierarchy`](types/hierarchy.md) (list) | Hierarchies in which this division participates.
Every division participates in at least one hierarchy. Most participate in only one. Some divisions may participate in more than one hierarchy, for example if they are claimed by different parent divisions from different political perspectives; or if there are other real-world reasons why the division or one of its ancestors has multiple parents.
The first hierarchy in the list is the default hierarchy, and the second-to-last entry in the default hierarchy (if there is such an entry) always corresponds to the `parent_division_id' property. The ordering of hierarchies after the first one is arbitrary.
*`minimum length: 1`*
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)* |
-| `hierarchies[].division_id` | [`DivisionId`](types/division_id.md) | ID of the division |
-| `hierarchies[].subtype` | [`PlaceType`](types/place_type.md) | |
-| `hierarchies[].name` | [`StrippedString`](../system/stripped_string.md) | Primary name of the division |
-| `parent_division_id` | [`Id`](../system/ref/id.md) (optional) | Division ID of this division's parent division.
Not allowed for top-level divisions (countries) and required for all other divisions.
The default parent division is the parent division as seen from the default political perspective, if there is one, and is otherwise chosen somewhat arbitrarily. The hierarchies property can be used to inspect the exhaustive list of parent divisions.
*`minimum length: 1`*
*`parent_division_id` is required when `subtype` ≠ `country`*
*`parent_division_id` is forbidden when `subtype` = `country`* |
-| `admin_level` | [`AdminLevel`](types/admin_level.md) (optional) | Integer representing the division's position in its country's administrative hierarchy, where lower numbers correspond to higher level administrative units.
*`admin_level` is required when `subtype` is one of: `county`, `macrocounty`, `region`, `macroregion`, `dependency`, `country`* |
+| `hierarchies[][]` | `list<`[`Hierarchy`](types/hierarchy.md)`>` | Hierarchies in which this division participates.
Every division participates in at least one hierarchy. Most participate in only one. Some divisions may participate in more than one hierarchy, for example if they are claimed by different parent divisions from different political perspectives; or if there are other real-world reasons why the division or one of its ancestors has multiple parents.
The first hierarchy in the list is the default hierarchy, and the second-to-last entry in the default hierarchy (if there is such an entry) always corresponds to the `parent_division_id' property. The ordering of hierarchies after the first one is arbitrary.
*Minimum length: 1*
*All items must be unique. (`UniqueItemsConstraint`)* |
+| `hierarchies[][].division_id` | [`DivisionId`](types/division_id.md) | ID of the division |
+| `hierarchies[][].subtype` | [`PlaceType`](types/place_type.md) | |
+| `hierarchies[][].name` | [`StrippedString`](../system/stripped_string.md) | Primary name of the division |
+| `parent_division_id` | [`Id`](../system/ref/id.md) (optional) | Division ID of this division's parent division.
Not allowed for top-level divisions (countries) and required for all other divisions.
The default parent division is the parent division as seen from the default political perspective, if there is one, and is otherwise chosen somewhat arbitrarily. The hierarchies property can be used to inspect the exhaustive list of parent divisions.
*Minimum length: 1*
*`parent_division_id` is required when `subtype` ≠ `country`*
*`parent_division_id` is forbidden when `subtype` = `country`* |
+| `admin_level` | [`AdminLevel`](types/admin_level.md) (optional) | Integer representing the division's position in its country's administrative hierarchy, where lower numbers correspond to higher level administrative units.
*`admin_level` is required when `subtype` is one of: `county`, `macrocounty`, `region`, `macroregion`, `dependency`, `country`* |
| `class` | [`DivisionClass`](types/division_class.md) (optional) | |
| `local_type` | [`CommonNames`](../core/common_names.md) (map, optional) | Local name for the subtype property, optionally localized.
For example, the Canadian province of Quebec has the subtype 'region', but in the local administrative hierarchy it is referred to as a 'province'. Similarly, the Canadian Yukon territory also has subtype 'region', but is locally called a 'territory'.
This property is localized using a standard Overture names structure. So for example, in Switzerland the top-level administrative subdivision corresponding to subtype 'region' is the canton, which is may be translated in each of Switzerland's official languages as, 'canton' in French, 'kanton' in German, 'cantone' in Italian, and 'chantun' in Romansh. |
| `region` | [`RegionCode`](../system/region_code.md) (optional) | ISO 3166-2 principal subdivision code of the subdivision-like entity this division represents or belongs to.
If the entity this division represents has a principal subdivision code, the region property contains it. If it does not, the region property contains the principal subdivision code of the first division encountered by traversing the parent_division_id chain to the root.
For example: - The region value for the United States is omitted. - The region value for the U.S. state of New York is 'US-NY'. - The region value for New York City is 'US-NY', which it inherits from the state of New York. - The region value for Puerto Rico is 'US-PR'. |
| `perspectives` | [`Perspectives`](../core/perspectives.md) (optional) | Political perspectives from which this division is considered to be an accurate representation.
If this property is absent, then this division is not known to be disputed from any political perspective. Consequently, there is only one division feature representing the entire real world entity.
If this property is present, it means the division represents one of several alternative perspectives on the same real-world entity.
There are two modes of perspective:
1. `accepted_by` means the representation of the division is accepted by the listed entities and would be included on a map drawn from their perspective.
2. `disputed_by` means the representation of the division is disputed by the listed entities and would be excluded from a map drawn from their perspective.
When drawing a map from the perspective of a given country, one would start by gathering all the undisputed divisions (with no `perspectives` property), and then adding to that first all divisions explicitly accepted by the country, and second all divisions not explicitly disputed by the country. |
| `perspectives.mode` | [`PerspectiveMode`](../core/perspective_mode.md) | Whether the perspective holder accepts or disputes this name. |
-| `perspectives.countries` | [`CountryCodeAlpha2`](../system/country_code_alpha2.md) (list) | Countries holding the given mode of perspective. |
+| `perspectives.countries` | `list<`[`CountryCodeAlpha2`](../system/country_code_alpha2.md)`>` | Countries holding the given mode of perspective. |
| `norms` | [`Norms`](types/division/norms.md) (optional) | Collects information about local norms and rules within the division that are generally useful for mapping and map-related use cases.
If the norms property or a desired sub-property of the norms property is missing on a division, but at least one of its ancestor divisions has the norms property and the desired sub-property, then the value from the nearest ancestor division may be assumed. |
| `norms.driving_side` | [`Side`](../core/scoping/side.md) (optional) | Side of the road on which vehicles drive in the division. |
-| `population` | `int32` (optional) | Population of the division
*`≥ 0`* |
-| `capital_division_ids` | [`Id`](../system/ref/id.md) (list, optional) | Division IDs of this division's capital divisions. If present, this property will refer to the division IDs of the capital cities, county seats, etc. of a division.
*`minimum length: 1`*
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)* |
-| `capital_of_divisions[]` | `list<`[`CapitalOfDivisionItem`](types/capital_of_division_item.md)`>` (optional) | Division IDs and subtypes of divisions this division is a capital of.
*`minimum length: 1`*
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)* |
+| `population` | [`int32`](../system/primitive/primitives.md) (optional) | Population of the division
*`≥ 0`* |
+| `capital_division_ids` | `list<`[`Id`](../system/ref/id.md)`>` (optional) | Division IDs of this division's capital divisions. If present, this property will refer to the division IDs of the capital cities, county seats, etc. of a division.
*Minimum length: 1*
*All items must be unique. (`UniqueItemsConstraint`)* |
+| `capital_of_divisions[]` | `list<`[`CapitalOfDivisionItem`](types/capital_of_division_item.md)`>` (optional) | Division IDs and subtypes of divisions this division is a capital of.
*Minimum length: 1*
*All items must be unique. (`UniqueItemsConstraint`)* |
| `capital_of_divisions[].division_id` | [`DivisionId`](types/division_id.md) | ID of the division |
| `capital_of_divisions[].subtype` | [`PlaceType`](types/place_type.md) | |
| `wikidata` | [`WikidataId`](../system/wikidata_id.md) (optional) | A wikidata ID, as found on https://www.wikidata.org/ |
@@ -84,6 +84,10 @@ Examples include countries, provinces, cities, towns, neighborhoods, etc.
| `names.primary` | `Sia'atoutai` |
| `names.common` | `null` |
| `id` | `350e85f6-68ba-4114-9906-c2844815988b` |
+| `bbox.xmin` | `-175.25515747070312` |
+| `bbox.xmax` | `-175.255126953125` |
+| `bbox.ymin` | `-21.1353702545166` |
+| `bbox.ymax` | `-21.13536834716797` |
| `geometry` | `POINT (-175.2551522 -21.1353686)` |
| `theme` | `divisions` |
| `type` | `division` |
@@ -110,7 +114,7 @@ Examples include countries, provinces, cities, towns, neighborhoods, etc.
| `hierarchies[0][3].name` | `Sia'atoutai` |
| `parent_division_id` | `8730f0cc-d436-4f11-a7d3-49085813ef44` |
| `class` | `village` |
-| `local_type.en` | `village` |
+| `local_type` | `{"en": "village"}` |
| `region` | `TO-04` |
| `perspectives` | `null` |
| `norms` | `null` |
diff --git a/docs/schema/reference/divisions/division_area.md b/docs/schema/reference/divisions/division_area.md
index 837f409a..17523fcc 100644
--- a/docs/schema/reference/divisions/division_area.md
+++ b/docs/schema/reference/divisions/division_area.md
@@ -25,12 +25,12 @@ belongs to.
| `names.rules[].language` | [`LanguageTag`](../system/language_tag.md) (optional) | The language in which the name `value` is specified, if known, as an IETF BCP 47 language tag. |
| `names.rules[].perspectives` | [`Perspectives`](../core/perspectives.md) (optional) | Political perspectives from which a named feature is viewed. |
| `names.rules[].perspectives.mode` | [`PerspectiveMode`](../core/perspective_mode.md) | Whether the perspective holder accepts or disputes this name. |
-| `names.rules[].perspectives.countries` | [`CountryCodeAlpha2`](../system/country_code_alpha2.md) (list) | Countries holding the given mode of perspective. |
+| `names.rules[].perspectives.countries` | `list<`[`CountryCodeAlpha2`](../system/country_code_alpha2.md)`>` | Countries holding the given mode of perspective. |
| `names.rules[].between` | [`LinearlyReferencedRange`](../core/scoping/linearly_referenced_range.md) (list, optional) | The linearly-referenced sub-segment of the geometry, specified as a range (pair) of percentage displacements from the start of the geometry, that the containing NameRule applies to. |
| `names.rules[].side` | [`Side`](../core/scoping/side.md) (optional) | The side, either left or right, that the containing NameRule applies to. |
| `id` | [`Id`](../system/ref/id.md) | A feature ID. This may be an ID associated with the Global Entity Reference System (GERS) if—and-only-if the feature represents an entity that is part of GERS. |
-| `bbox` | `bbox` (optional) | An optional bounding box for the feature |
-| `geometry` | `geometry` | The area covered by the division with which this area feature is associated
*Allowed geometry types: MultiPolygon, Polygon* |
+| `bbox` | [`bbox`](../system/primitive/geometry.md) (optional) | An optional bounding box for the feature |
+| `geometry` | [`geometry`](../system/primitive/geometry.md) | The area covered by the division with which this area feature is associated
*Allowed geometry types: MultiPolygon, Polygon* |
| `theme` | `"divisions"` | |
| `type` | `"division_area"` | |
| `version` | [`FeatureVersion`](../core/feature_version.md) | |
@@ -44,12 +44,12 @@ belongs to.
| `sources[].between` | [`LinearlyReferencedRange`](../core/scoping/linearly_referenced_range.md) (list, optional) | The linearly-referenced sub-segment of the geometry, specified as a range (pair) of percentage displacements from the start of the geometry, that the containing SourceItem applies to. |
| `subtype` | [`PlaceType`](types/place_type.md) | *`admin_level` is required when `subtype` is one of: `county`, `macrocounty`, `region`, `macroregion`, `dependency`, `country`* |
| `class` | [`AreaClass`](types/division_area/area_class.md) | |
-| `is_land` | `boolean` (optional) | A boolean to indicate whether or not the feature geometry represents the land-clipped, non-maritime boundary. The geometry can be used for map rendering, cartographic display, and similar purposes.
*`strict=True`*
*Exactly one of `is_land`, `is_territorial` must be `true`* |
-| `is_territorial` | `boolean` (optional) | A boolean to indicate whether or not the feature geometry represents Overture's best approximation of this place's maritime boundary. For coastal places, this would tend to include the water area. The geometry can be used for data processing, reverse-geocoding, and similar purposes.
*`strict=True`*
*Exactly one of `is_land`, `is_territorial` must be `true`* |
-| `division_id` | [`Id`](../system/ref/id.md) | Division ID of the division this area belongs to.
*References [`Division`](division.md) (belongs to)* |
+| `is_land` | `boolean` (optional) | A boolean to indicate whether or not the feature geometry represents the land-clipped, non-maritime boundary. The geometry can be used for map rendering, cartographic display, and similar purposes.
*`strict=True`*
*Exactly one of `is_land`, `is_territorial` must be `true`* |
+| `is_territorial` | `boolean` (optional) | A boolean to indicate whether or not the feature geometry represents Overture's best approximation of this place's maritime boundary. For coastal places, this would tend to include the water area. The geometry can be used for data processing, reverse-geocoding, and similar purposes.
*`strict=True`*
*Exactly one of `is_land`, `is_territorial` must be `true`* |
+| `division_id` | [`Id`](../system/ref/id.md) | Division ID of the division this area belongs to.
*References [`Division`](division.md) (belongs to)* |
| `country` | [`CountryCodeAlpha2`](../system/country_code_alpha2.md) | ISO 3166-1 alpha-2 country code of the division this area belongs to. |
| `region` | [`RegionCode`](../system/region_code.md) (optional) | ISO 3166-2 principal subdivision code of the division this area belongs to. |
-| `admin_level` | [`AdminLevel`](types/admin_level.md) (optional) | Integer representing the division's position in its country's administrative hierarchy, where lower numbers correspond to higher level administrative units.
*`admin_level` is required when `subtype` is one of: `county`, `macrocounty`, `region`, `macroregion`, `dependency`, `country`* |
+| `admin_level` | [`AdminLevel`](types/admin_level.md) (optional) | Integer representing the division's position in its country's administrative hierarchy, where lower numbers correspond to higher level administrative units.
*`admin_level` is required when `subtype` is one of: `county`, `macrocounty`, `region`, `macroregion`, `dependency`, `country`* |
## Constraints
@@ -64,7 +64,11 @@ belongs to.
| `names.common` | `null` |
| `names.rules` | `null` |
| `id` | `eb9b112f-ec3c-47f7-b519-6f9f2e6fc2bd` |
-| `geometry` | `MULTIPOLYGON (((-174.9553949 -21.4730179, -174.9514163 -21.4719978, -174.9520108 -21.4681253, -174.9...` |
+| `bbox.xmin` | `-174.97535705566406` |
+| `bbox.xmax` | `-174.90040588378906` |
+| `bbox.ymin` | `-21.473018646240234` |
+| `bbox.ymax` | `-21.283489227294922` |
+| `geometry` | `MULTIPOLYGON (((-174.9553949 -21.4730179, -174.9514163 -21.4719978, -174.9520108 -21.4681253, -17...` |
| `theme` | `divisions` |
| `type` | `division_area` |
| `version` | `2` |
diff --git a/docs/schema/reference/divisions/division_boundary.md b/docs/schema/reference/divisions/division_boundary.md
index b3350746..941a5391 100644
--- a/docs/schema/reference/divisions/division_boundary.md
+++ b/docs/schema/reference/divisions/division_boundary.md
@@ -13,8 +13,8 @@ Some boundaries may be disputed by the divisions on one or both sides.
| Name | Type | Description |
| -----: | :----: | ------------- |
| `id` | [`Id`](../system/ref/id.md) | A feature ID. This may be an ID associated with the Global Entity Reference System (GERS) if—and-only-if the feature represents an entity that is part of GERS. |
-| `bbox` | `bbox` (optional) | An optional bounding box for the feature |
-| `geometry` | `geometry` | Boundary line or lines
*Allowed geometry types: LineString, MultiLineString* |
+| `bbox` | [`bbox`](../system/primitive/geometry.md) (optional) | An optional bounding box for the feature |
+| `geometry` | [`geometry`](../system/primitive/geometry.md) | Boundary line or lines
*Allowed geometry types: LineString, MultiLineString* |
| `theme` | `"divisions"` | |
| `type` | `"division_boundary"` | |
| `version` | [`FeatureVersion`](../core/feature_version.md) | |
@@ -28,16 +28,16 @@ Some boundaries may be disputed by the divisions on one or both sides.
| `sources[].between` | [`LinearlyReferencedRange`](../core/scoping/linearly_referenced_range.md) (list, optional) | The linearly-referenced sub-segment of the geometry, specified as a range (pair) of percentage displacements from the start of the geometry, that the containing SourceItem applies to. |
| `subtype` | [`PlaceType`](types/place_type.md) | *`admin_level` is required when `subtype` is one of: `county`, `macrocounty`, `region`, `macroregion`, `dependency`, `country`*
*`country` is required when `subtype` ≠ `country`*
*`country` is forbidden when `subtype` = `country`* |
| `class` | [`BoundaryClass`](types/division_boundary/boundary_class.md) | |
-| `is_land` | `boolean` (optional) | A boolean to indicate whether or not the feature geometry represents the land-clipped, non-maritime boundary. The geometry can be used for map rendering, cartographic display, and similar purposes.
*`strict=True`*
*Exactly one of `is_land`, `is_territorial` must be `true`* |
-| `is_territorial` | `boolean` (optional) | A boolean to indicate whether or not the feature geometry represents Overture's best approximation of this place's maritime boundary. For coastal places, this would tend to include the water area. The geometry can be used for data processing, reverse-geocoding, and similar purposes.
*`strict=True`*
*Exactly one of `is_land`, `is_territorial` must be `true`* |
-| `division_ids` | [`Id`](../system/ref/id.md) (list) | Identifies the two divisions to the left and right, respectively, of the boundary line. The left- and right-hand sides of the boundary are considered from the perspective of a person standing on the line facing in the direction in which the geometry is oriented, i.e. facing toward the end of the line.
The first array element is the Overture ID of the left division. The second element is the Overture ID of the right division.
*References [`Division`](division.md) (boundary of)*
*`minimum length: 2`*
*`maximum length: 2`*
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)* |
-| `country` | [`CountryCodeAlpha2`](../system/country_code_alpha2.md) (optional) | ISO 3166-1 alpha-2 country code of the country or country-like entity that both sides of the boundary share.
This property will be present on boundaries between two regions, counties, or similar entities within the same country, but will not be present on boundaries between two countries or country-like entities.
*`country` is required when `subtype` ≠ `country`*
*`country` is forbidden when `subtype` = `country`* |
+| `is_land` | `boolean` (optional) | A boolean to indicate whether or not the feature geometry represents the land-clipped, non-maritime boundary. The geometry can be used for map rendering, cartographic display, and similar purposes.
*`strict=True`*
*Exactly one of `is_land`, `is_territorial` must be `true`* |
+| `is_territorial` | `boolean` (optional) | A boolean to indicate whether or not the feature geometry represents Overture's best approximation of this place's maritime boundary. For coastal places, this would tend to include the water area. The geometry can be used for data processing, reverse-geocoding, and similar purposes.
*`strict=True`*
*Exactly one of `is_land`, `is_territorial` must be `true`* |
+| `division_ids` | `list<`[`Id`](../system/ref/id.md)`>` | Identifies the two divisions to the left and right, respectively, of the boundary line. The left- and right-hand sides of the boundary are considered from the perspective of a person standing on the line facing in the direction in which the geometry is oriented, i.e. facing toward the end of the line.
The first array element is the Overture ID of the left division. The second element is the Overture ID of the right division.
*References [`Division`](division.md) (boundary of)*
*Minimum length: 2*
*Maximum length: 2*
*All items must be unique. (`UniqueItemsConstraint`)* |
+| `country` | [`CountryCodeAlpha2`](../system/country_code_alpha2.md) (optional) | ISO 3166-1 alpha-2 country code of the country or country-like entity that both sides of the boundary share.
This property will be present on boundaries between two regions, counties, or similar entities within the same country, but will not be present on boundaries between two countries or country-like entities.
*`country` is required when `subtype` ≠ `country`*
*`country` is forbidden when `subtype` = `country`* |
| `region` | [`RegionCode`](../system/region_code.md) (optional) | ISO 3166-2 principal subdivision code of the subdivision-like entity that both sides of the boundary share.
This property will be present on boundaries between two counties, localadmins or similar entities within the same principal subdivision, but will not be present on boundaries between different principal subdivisions or countries. |
-| `admin_level` | [`AdminLevel`](types/admin_level.md) (optional) | Integer representing the division's position in its country's administrative hierarchy, where lower numbers correspond to higher level administrative units.
*`admin_level` is required when `subtype` is one of: `county`, `macrocounty`, `region`, `macroregion`, `dependency`, `country`* |
-| `is_disputed` | `boolean` (optional) | Indicator if there are entities disputing this division boundary. Information about entities disputing this boundary should be included in perspectives property.
This property should also be true if boundary between two entities is unclear and this is "best guess". So having it true and no perspectives gives map creators reason not to fully trust the boundary, but use it if they have no other.
*`strict=True`* |
+| `admin_level` | [`AdminLevel`](types/admin_level.md) (optional) | Integer representing the division's position in its country's administrative hierarchy, where lower numbers correspond to higher level administrative units.
*`admin_level` is required when `subtype` is one of: `county`, `macrocounty`, `region`, `macroregion`, `dependency`, `country`* |
+| `is_disputed` | `boolean` (optional) | Indicator if there are entities disputing this division boundary. Information about entities disputing this boundary should be included in perspectives property.
This property should also be true if boundary between two entities is unclear and this is "best guess". So having it true and no perspectives gives map creators reason not to fully trust the boundary, but use it if they have no other.
*`strict=True`* |
| `perspectives` | [`Perspectives`](../core/perspectives.md) (optional) | Political perspectives from which this division boundary is considered to be an accurate representation.
If this property is absent, then this boundary is not known to be disputed from any political perspective. Consequently, there is only one boundary feature representing the entire real world entity.
If this property is present, it means the boundary represents one of several alternative perspectives on the same real-world entity.
There are two modes of perspective:
1. `accepted_by` means the representation of the boundary is accepted by the listed entities and would be included on a map drawn from their perspective.
2. `disputed_by` means the representation of the boundary is disputed by the listed entities and would be excluded from a map drawn from their perspective.
When drawing a map from the perspective of a given country, one would start by gathering all the undisputed boundary (with no `perspectives` property), and then adding to that first all boundary explicitly accepted by the country, and second all boundary not explicitly disputed by the country. |
| `perspectives.mode` | [`PerspectiveMode`](../core/perspective_mode.md) | Whether the perspective holder accepts or disputes this name. |
-| `perspectives.countries` | [`CountryCodeAlpha2`](../system/country_code_alpha2.md) (list) | Countries holding the given mode of perspective. |
+| `perspectives.countries` | `list<`[`CountryCodeAlpha2`](../system/country_code_alpha2.md)`>` | Countries holding the given mode of perspective. |
## Constraints
@@ -51,6 +51,10 @@ Some boundaries may be disputed by the divisions on one or both sides.
| Column | Value |
| -------: | ------- |
| `id` | `2bdf68e4-860d-3d8c-a472-ccf439a5302a` |
+| `bbox.xmin` | `-147.06483459472656` |
+| `bbox.xmax` | `-147.04847717285156` |
+| `bbox.ymin` | `-15.4231538772583` |
+| `bbox.ymax` | `-15.151169776916504` |
| `geometry` | `LINESTRING (-147.064823 -15.4231537, -147.0519131 -15.2885069, -147.048482 -15.1511701)` |
| `theme` | `divisions` |
| `type` | `division_boundary` |
@@ -71,7 +75,7 @@ Some boundaries may be disputed by the divisions on one or both sides.
| `class` | `maritime` |
| `is_land` | `false` |
| `is_territorial` | `true` |
-| `division_ids` | `[ae266459-63a4-4508-8295-0101e27d039b, d4a6873d-885a-4f2a-bc0f-37e9d9e874e4]` |
+| `division_ids` | `["ae266459-63a4-4508-8295-0101e27d039b", "d4a6873d-885a-4f2a-bc0f-37e9d9e874e4"]` |
| `country` | `PF` |
| `region` | `null` |
| `is_disputed` | `false` |
diff --git a/docs/schema/reference/divisions/types/division_id.md b/docs/schema/reference/divisions/types/division_id.md
index dbdb7316..dcbedc0e 100644
--- a/docs/schema/reference/divisions/types/division_id.md
+++ b/docs/schema/reference/divisions/types/division_id.md
@@ -6,8 +6,8 @@ Underlying type: `string`
## Constraints
-- `minimum length: 1`
-- `minimum length: 1` (from [`Id`](../../system/ref/id.md))
+- Minimum length: 1
+- Minimum length: 1 (from [`Id`](../../system/ref/id.md))
- Allows only strings that contain no whitespace characters. (`NoWhitespaceConstraint`, pattern: `^\S+$`) (from [`NoWhitespaceString`](../../system/no_whitespace_string.md))
## Used By
diff --git a/docs/schema/reference/divisions/types/hierarchy.md b/docs/schema/reference/divisions/types/hierarchy.md
index 98e4cad5..73ed6a45 100644
--- a/docs/schema/reference/divisions/types/hierarchy.md
+++ b/docs/schema/reference/divisions/types/hierarchy.md
@@ -8,8 +8,8 @@ Underlying type: `list<`[`HierarchyItem`](hierarchy_item.md)`>`
## Constraints
-- `minimum length: 1`
-- Ensures all items in a collection are unique. (`UniqueItemsConstraint`)
+- Minimum length: 1
+- All items must be unique. (`UniqueItemsConstraint`)
## Used By
diff --git a/docs/schema/reference/divisions/types/hierarchy_item.md b/docs/schema/reference/divisions/types/hierarchy_item.md
index c8f711d8..53ef5641 100644
--- a/docs/schema/reference/divisions/types/hierarchy_item.md
+++ b/docs/schema/reference/divisions/types/hierarchy_item.md
@@ -8,7 +8,7 @@ One division in a hierarchy.
| -----: | :----: | ------------- |
| `division_id` | [`DivisionId`](division_id.md) | ID of the division |
| `subtype` | [`PlaceType`](place_type.md) | |
-| `name` | [`StrippedString`](../../system/stripped_string.md) | Primary name of the division
*`minimum length: 1`* |
+| `name` | [`StrippedString`](../../system/stripped_string.md) | Primary name of the division
*Minimum length: 1* |
## Used By
diff --git a/docs/schema/reference/places/place.md b/docs/schema/reference/places/place.md
index b4571890..b5edc846 100644
--- a/docs/schema/reference/places/place.md
+++ b/docs/schema/reference/places/place.md
@@ -11,8 +11,8 @@ Places are point representations of real-world facilities, businesses, services,
| Name | Type | Description |
| -----: | :----: | ------------- |
| `id` | [`Id`](../system/ref/id.md) | A feature ID. This may be an ID associated with the Global Entity Reference System (GERS) if—and-only-if the feature represents an entity that is part of GERS. |
-| `bbox` | `bbox` (optional) | An optional bounding box for the feature |
-| `geometry` | `geometry` | Position of the place. Places are point geometries.
*Allowed geometry types: Point* |
+| `bbox` | [`bbox`](../system/primitive/geometry.md) (optional) | An optional bounding box for the feature |
+| `geometry` | [`geometry`](../system/primitive/geometry.md) | Position of the place. Places are point geometries.
*Allowed geometry types: Point* |
| `theme` | `"places"` | |
| `type` | `"place"` | |
| `version` | [`FeatureVersion`](../core/feature_version.md) | |
@@ -27,17 +27,17 @@ Places are point representations of real-world facilities, businesses, services,
| `operating_status` | [`OperatingStatus`](types/operating_status.md) | An indication of whether a place is: in continued operation, in a temporary operating hiatus, or closed permanently.
This is not an indication of opening hours or that the place is open/closed at the current time-of-day or day-of-week.
When `operating_status` is `"permanently_closed"`, the `confidence` field will be set to 0. |
| `categories` | [`Categories`](types/categories.md) (optional) | |
| `categories.primary` | [`SnakeCaseString`](../system/snake_case_string.md) | The primary or main category of the place. |
-| `categories.alternate` | [`SnakeCaseString`](../system/snake_case_string.md) (list, optional) | Alternate categories of the place.
Some places might fit into two categories, e.g., a book store and a coffee shop. In these cases, the primary category can be augmented with additional categories. |
+| `categories.alternate` | `list<`[`SnakeCaseString`](../system/snake_case_string.md)`>` (optional) | Alternate categories of the place.
Some places might fit into two categories, e.g., a book store and a coffee shop. In these cases, the primary category can be augmented with additional categories. |
| `basic_category` | [`SnakeCaseString`](../system/snake_case_string.md) (optional) | The basic level category of a place.
This field classifies places into categories at a level that most people find intuitive. The full list of possible values it may hold can be found at (TODO).
The basic level category, or simply basic category, is based on a cognitive science model use in taxonomy and ontology development. The idea is to provide the category name at the level of generality that is preferred by humans in learning and memory tasks. This category to be roughly in the middle of the general-to-specific category hierarchy.
The full list of basic level categories is available at https://docs.overturemaps.org/guides/places/ |
| `taxonomy` | [`Taxonomy`](types/taxonomy.md) (optional) | A structured representation of the place's category within the Overture taxonomy.
Provides the primary classification, full hierarchy path, and alternate categories. |
| `taxonomy.primary` | [`SnakeCaseString`](../system/snake_case_string.md) | The primary, or most specific, category known about this place.
The `primary` category value must always equal the last or rightmost entry in the `hierarchy` field. |
-| `taxonomy.hierarchy` | [`SnakeCaseString`](../system/snake_case_string.md) (list) | The full primary hierarchy of categories known for this place, ordered from most general to most specific. An example hierarchy might be: `["food_and_drink", "restaurant", "casual_eatery", "gas_station_sushi"]`.
The rightmost, or most specific, value in the `hierarchy` must always be equal to the `primary` field. The basic level category of the place will typically be found in the middle of the primary hierarchy. The primary hierarchy does not include any of the alternate categories found in the `alternates` field. |
-| `taxonomy.alternates` | [`SnakeCaseString`](../system/snake_case_string.md) (list, optional) | Unordered list of additional categories that are known for this place but that are not part of the primary category hierarchy.
Alternate categories allow a more complete picture of the place to be surfaced when it fits multiple unconnected branches in the taxonomy. For example a gas station that also sells groceries might have primary category of "gas_station" with an alternate of "grocery_store".
Alternate categories are not part of the primary hierarchy or another alternate category's hierarchy. In other words, if a category is a parent in the hierarchy of another category, that category can't be a primary or alternate category itself.
Note as well that this field is an unordered list of extra categories and does not represent a hierarchy. |
+| `taxonomy.hierarchy` | `list<`[`SnakeCaseString`](../system/snake_case_string.md)`>` | The full primary hierarchy of categories known for this place, ordered from most general to most specific. An example hierarchy might be: `["food_and_drink", "restaurant", "casual_eatery", "gas_station_sushi"]`.
The rightmost, or most specific, value in the `hierarchy` must always be equal to the `primary` field. The basic level category of the place will typically be found in the middle of the primary hierarchy. The primary hierarchy does not include any of the alternate categories found in the `alternates` field. |
+| `taxonomy.alternates` | `list<`[`SnakeCaseString`](../system/snake_case_string.md)`>` (optional) | Unordered list of additional categories that are known for this place but that are not part of the primary category hierarchy.
Alternate categories allow a more complete picture of the place to be surfaced when it fits multiple unconnected branches in the taxonomy. For example a gas station that also sells groceries might have primary category of "gas_station" with an alternate of "grocery_store".
Alternate categories are not part of the primary hierarchy or another alternate category's hierarchy. In other words, if a category is a parent in the hierarchy of another category, that category can't be a primary or alternate category itself.
Note as well that this field is an unordered list of extra categories and does not represent a hierarchy. |
| `confidence` | [`ConfidenceScore`](../core/confidence_score.md) (optional) | A score between 0 and 1 indicating how confident we are that the place exists.
A confidence score of 0 indicates that we are certain the place doesn't exist anymore and will always be paired with an `operating_status` of `"permanently_closed"`.
A confidence score of 1 indicates that we are certain the place does exist.
If there is no value for confidence, it means we don't have enough information on which to estimate our confidence level. |
-| `websites` | `list` (optional) | The websites of the place.
*`minimum length: 1`*
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)* |
-| `socials` | `list` (optional) | The social media URLs of the place.
*`minimum length: 1`*
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)* |
-| `emails` | `list` (optional) | The email addresses of the place.
*`minimum length: 1`*
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)* |
-| `phones` | [`PhoneNumber`](../system/phone_number.md) (list, optional) | The phone numbers of the place.
*`minimum length: 1`*
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)* |
+| `websites` | `list<`[`HttpUrl`](../pydantic/networks/http_url.md)`>` (optional) | The websites of the place.
*Minimum length: 1*
*All items must be unique. (`UniqueItemsConstraint`)* |
+| `socials` | `list<`[`HttpUrl`](../pydantic/networks/http_url.md)`>` (optional) | The social media URLs of the place.
*Minimum length: 1*
*All items must be unique. (`UniqueItemsConstraint`)* |
+| `emails` | `list<`[`EmailStr`](../pydantic/networks/email_str.md)`>` (optional) | The email addresses of the place.
*Minimum length: 1*
*All items must be unique. (`UniqueItemsConstraint`)* |
+| `phones` | `list<`[`PhoneNumber`](../system/phone_number.md)`>` (optional) | The phone numbers of the place.
*Minimum length: 1*
*All items must be unique. (`UniqueItemsConstraint`)* |
| `brand` | [`Brand`](types/brand.md) (optional) | The brand associated with the place. |
| `brand.names` | [`Names`](../core/names.md) (optional) | |
| `brand.names.primary` | [`StrippedString`](../system/stripped_string.md) | The most commonly used name. |
@@ -48,11 +48,11 @@ Places are point representations of real-world facilities, businesses, services,
| `brand.names.rules[].language` | [`LanguageTag`](../system/language_tag.md) (optional) | The language in which the name `value` is specified, if known, as an IETF BCP 47 language tag. |
| `brand.names.rules[].perspectives` | [`Perspectives`](../core/perspectives.md) (optional) | Political perspectives from which a named feature is viewed. |
| `brand.names.rules[].perspectives.mode` | [`PerspectiveMode`](../core/perspective_mode.md) | Whether the perspective holder accepts or disputes this name. |
-| `brand.names.rules[].perspectives.countries` | [`CountryCodeAlpha2`](../system/country_code_alpha2.md) (list) | Countries holding the given mode of perspective. |
+| `brand.names.rules[].perspectives.countries` | `list<`[`CountryCodeAlpha2`](../system/country_code_alpha2.md)`>` | Countries holding the given mode of perspective. |
| `brand.names.rules[].between` | [`LinearlyReferencedRange`](../core/scoping/linearly_referenced_range.md) (list, optional) | The linearly-referenced sub-segment of the geometry, specified as a range (pair) of percentage displacements from the start of the geometry, that the containing NameRule applies to. |
| `brand.names.rules[].side` | [`Side`](../core/scoping/side.md) (optional) | The side, either left or right, that the containing NameRule applies to. |
| `brand.wikidata` | [`WikidataId`](../system/wikidata_id.md) (optional) | A wikidata ID, as found on https://www.wikidata.org/ |
-| `addresses[]` | `list<`[`Address`](../addresses/address.md)`>` (optional) | The address or addresses of the place
*`minimum length: 1`* |
+| `addresses[]` | `list<`[`Address`](types/address.md)`>` (optional) | The address or addresses of the place
*Minimum length: 1* |
| `addresses[].freeform` | `string` (optional) | Free-form address that contains street name, house number and other address info |
| `addresses[].locality` | `string` (optional) | City, town, or neighborhood component of the place address |
| `addresses[].postcode` | `string` (optional) | Postal code component of the place address |
@@ -67,7 +67,7 @@ Places are point representations of real-world facilities, businesses, services,
| `names.rules[].language` | [`LanguageTag`](../system/language_tag.md) (optional) | The language in which the name `value` is specified, if known, as an IETF BCP 47 language tag. |
| `names.rules[].perspectives` | [`Perspectives`](../core/perspectives.md) (optional) | Political perspectives from which a named feature is viewed. |
| `names.rules[].perspectives.mode` | [`PerspectiveMode`](../core/perspective_mode.md) | Whether the perspective holder accepts or disputes this name. |
-| `names.rules[].perspectives.countries` | [`CountryCodeAlpha2`](../system/country_code_alpha2.md) (list) | Countries holding the given mode of perspective. |
+| `names.rules[].perspectives.countries` | `list<`[`CountryCodeAlpha2`](../system/country_code_alpha2.md)`>` | Countries holding the given mode of perspective. |
| `names.rules[].between` | [`LinearlyReferencedRange`](../core/scoping/linearly_referenced_range.md) (list, optional) | The linearly-referenced sub-segment of the geometry, specified as a range (pair) of percentage displacements from the start of the geometry, that the containing NameRule applies to. |
| `names.rules[].side` | [`Side`](../core/scoping/side.md) (optional) | The side, either left or right, that the containing NameRule applies to. |
@@ -76,6 +76,10 @@ Places are point representations of real-world facilities, businesses, services,
| Column | Value |
| -------: | ------- |
| `id` | `99003ee6-e75b-4dd6-8a8a-53a5a716c50d` |
+| `bbox.xmin` | `-150.46875` |
+| `bbox.xmax` | `-150.46875` |
+| `bbox.ymin` | `-79.17134094238281` |
+| `bbox.ymax` | `-79.17133331298828` |
| `geometry` | `POINT (-150.46875 -79.1713346)` |
| `theme` | `places` |
| `type` | `place` |
@@ -90,10 +94,10 @@ Places are point representations of real-world facilities, businesses, services,
| `categories.primary` | `hotel` |
| `categories.alternate` | `null` |
| `confidence` | `0.7337175792507205` |
-| `websites` | `[https://www.superhotel.co.jp/s_hotels/beppu/]` |
-| `socials` | `[https://www.facebook.com/107663894904826]` |
+| `websites` | `["https://www.superhotel.co.jp/s_hotels/beppu/"]` |
+| `socials` | `["https://www.facebook.com/107663894904826"]` |
| `emails` | `null` |
-| `phones` | `[+81977009000]` |
+| `phones` | `["+81977009000"]` |
| `brand.wikidata` | `null` |
| `brand.names.primary` | `SUPER HOTEL` |
| `brand.names.common` | `null` |
diff --git a/docs/schema/reference/places/types/address.md b/docs/schema/reference/places/types/address.md
new file mode 100644
index 00000000..b64d5be1
--- /dev/null
+++ b/docs/schema/reference/places/types/address.md
@@ -0,0 +1,17 @@
+# Address
+
+An address associated with a place.
+
+## Fields
+
+| Name | Type | Description |
+| -----: | :----: | ------------- |
+| `freeform` | `string` (optional) | Free-form address that contains street name, house number and other address info |
+| `locality` | `string` (optional) | City, town, or neighborhood component of the place address |
+| `postcode` | `string` (optional) | Postal code component of the place address |
+| `region` | [`RegionCode`](../../system/region_code.md) (optional) | An ISO 3166-2 principal subdivision code |
+| `country` | [`CountryCodeAlpha2`](../../system/country_code_alpha2.md) (optional) | An ISO 3166-1 alpha-2 country code |
+
+## Used By
+
+- [`Place`](../place.md)
diff --git a/docs/schema/reference/places/types/brand.md b/docs/schema/reference/places/types/brand.md
index d7b6668c..8064e958 100644
--- a/docs/schema/reference/places/types/brand.md
+++ b/docs/schema/reference/places/types/brand.md
@@ -17,7 +17,7 @@ A location with multiple brands is modeled as multiple separate places, each wit
| `names.rules[].language` | [`LanguageTag`](../../system/language_tag.md) (optional) | The language in which the name `value` is specified, if known, as an IETF BCP 47 language tag. |
| `names.rules[].perspectives` | [`Perspectives`](../../core/perspectives.md) (optional) | Political perspectives from which a named feature is viewed. |
| `names.rules[].perspectives.mode` | [`PerspectiveMode`](../../core/perspective_mode.md) | Whether the perspective holder accepts or disputes this name. |
-| `names.rules[].perspectives.countries` | [`CountryCodeAlpha2`](../../system/country_code_alpha2.md) (list) | Countries holding the given mode of perspective. |
+| `names.rules[].perspectives.countries` | `list<`[`CountryCodeAlpha2`](../../system/country_code_alpha2.md)`>` | Countries holding the given mode of perspective. |
| `names.rules[].between` | [`LinearlyReferencedRange`](../../core/scoping/linearly_referenced_range.md) (list, optional) | The linearly-referenced sub-segment of the geometry, specified as a range (pair) of percentage displacements from the start of the geometry, that the containing NameRule applies to. |
| `names.rules[].side` | [`Side`](../../core/scoping/side.md) (optional) | The side, either left or right, that the containing NameRule applies to. |
| `wikidata` | [`WikidataId`](../../system/wikidata_id.md) (optional) | A wikidata ID, as found on https://www.wikidata.org/ |
diff --git a/docs/schema/reference/places/types/categories.md b/docs/schema/reference/places/types/categories.md
index d1ce2cc9..fbb5a64d 100644
--- a/docs/schema/reference/places/types/categories.md
+++ b/docs/schema/reference/places/types/categories.md
@@ -9,7 +9,7 @@ Complete list is available on GitHub: [https://github.com/OvertureMaps/schema/bl
| Name | Type | Description |
| -----: | :----: | ------------- |
| `primary` | [`SnakeCaseString`](../../system/snake_case_string.md) | The primary or main category of the place. |
-| `alternate` | [`SnakeCaseString`](../../system/snake_case_string.md) (list, optional) | Alternate categories of the place.
Some places might fit into two categories, e.g., a book store and a coffee shop. In these cases, the primary category can be augmented with additional categories.
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)* |
+| `alternate` | `list<`[`SnakeCaseString`](../../system/snake_case_string.md)`>` (optional) | Alternate categories of the place.
Some places might fit into two categories, e.g., a book store and a coffee shop. In these cases, the primary category can be augmented with additional categories.
*All items must be unique. (`UniqueItemsConstraint`)* |
## Used By
diff --git a/docs/schema/reference/places/types/taxonomy.md b/docs/schema/reference/places/types/taxonomy.md
index 665400fc..33f5b4da 100644
--- a/docs/schema/reference/places/types/taxonomy.md
+++ b/docs/schema/reference/places/types/taxonomy.md
@@ -9,8 +9,8 @@ Provides the primary classification, full hierarchy path, and alternate categori
| Name | Type | Description |
| -----: | :----: | ------------- |
| `primary` | [`SnakeCaseString`](../../system/snake_case_string.md) | The primary, or most specific, category known about this place.
The `primary` category value must always equal the last or rightmost entry in the `hierarchy` field. |
-| `hierarchy` | [`SnakeCaseString`](../../system/snake_case_string.md) (list) | The full primary hierarchy of categories known for this place, ordered from most general to most specific. An example hierarchy might be: `["food_and_drink", "restaurant", "casual_eatery", "gas_station_sushi"]`.
The rightmost, or most specific, value in the `hierarchy` must always be equal to the `primary` field. The basic level category of the place will typically be found in the middle of the primary hierarchy. The primary hierarchy does not include any of the alternate categories found in the `alternates` field.
*`minimum length: 1`*
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)* |
-| `alternates` | [`SnakeCaseString`](../../system/snake_case_string.md) (list, optional) | Unordered list of additional categories that are known for this place but that are not part of the primary category hierarchy.
Alternate categories allow a more complete picture of the place to be surfaced when it fits multiple unconnected branches in the taxonomy. For example a gas station that also sells groceries might have primary category of "gas_station" with an alternate of "grocery_store".
Alternate categories are not part of the primary hierarchy or another alternate category's hierarchy. In other words, if a category is a parent in the hierarchy of another category, that category can't be a primary or alternate category itself.
Note as well that this field is an unordered list of extra categories and does not represent a hierarchy.
*`minimum length: 1`*
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)* |
+| `hierarchy` | `list<`[`SnakeCaseString`](../../system/snake_case_string.md)`>` | The full primary hierarchy of categories known for this place, ordered from most general to most specific. An example hierarchy might be: `["food_and_drink", "restaurant", "casual_eatery", "gas_station_sushi"]`.
The rightmost, or most specific, value in the `hierarchy` must always be equal to the `primary` field. The basic level category of the place will typically be found in the middle of the primary hierarchy. The primary hierarchy does not include any of the alternate categories found in the `alternates` field.
*Minimum length: 1*
*All items must be unique. (`UniqueItemsConstraint`)* |
+| `alternates` | `list<`[`SnakeCaseString`](../../system/snake_case_string.md)`>` (optional) | Unordered list of additional categories that are known for this place but that are not part of the primary category hierarchy.
Alternate categories allow a more complete picture of the place to be surfaced when it fits multiple unconnected branches in the taxonomy. For example a gas station that also sells groceries might have primary category of "gas_station" with an alternate of "grocery_store".
Alternate categories are not part of the primary hierarchy or another alternate category's hierarchy. In other words, if a category is a parent in the hierarchy of another category, that category can't be a primary or alternate category itself.
Note as well that this field is an unordered list of extra categories and does not represent a hierarchy.
*Minimum length: 1*
*All items must be unique. (`UniqueItemsConstraint`)* |
## Used By
diff --git a/docs/schema/reference/pydantic/_category_.json b/docs/schema/reference/pydantic/_category_.json
new file mode 100644
index 00000000..6bc65c37
--- /dev/null
+++ b/docs/schema/reference/pydantic/_category_.json
@@ -0,0 +1,4 @@
+{
+ "label": "Pydantic",
+ "position": 8
+}
diff --git a/docs/schema/reference/pydantic/networks/_category_.json b/docs/schema/reference/pydantic/networks/_category_.json
new file mode 100644
index 00000000..8dc67bc4
--- /dev/null
+++ b/docs/schema/reference/pydantic/networks/_category_.json
@@ -0,0 +1,3 @@
+{
+ "label": "Networks"
+}
diff --git a/docs/schema/reference/pydantic/networks/email_str.md b/docs/schema/reference/pydantic/networks/email_str.md
new file mode 100644
index 00000000..3bf99260
--- /dev/null
+++ b/docs/schema/reference/pydantic/networks/email_str.md
@@ -0,0 +1,7 @@
+# EmailStr
+
+See: [Pydantic docs](https://docs.pydantic.dev/latest/api/networks/#pydantic.networks.EmailStr)
+
+## Used By
+
+- [`Place`](../../places/place.md)
diff --git a/docs/schema/reference/pydantic/networks/http_url.md b/docs/schema/reference/pydantic/networks/http_url.md
new file mode 100644
index 00000000..b4b25f0e
--- /dev/null
+++ b/docs/schema/reference/pydantic/networks/http_url.md
@@ -0,0 +1,9 @@
+# HttpUrl
+
+A type that will accept any http or https URL.
+
+See: [Pydantic docs](https://docs.pydantic.dev/latest/api/networks/#pydantic.networks.HttpUrl)
+
+## Used By
+
+- [`Place`](../../places/place.md)
diff --git a/docs/schema/reference/system/_category_.json b/docs/schema/reference/system/_category_.json
index 72961fcc..22378997 100644
--- a/docs/schema/reference/system/_category_.json
+++ b/docs/schema/reference/system/_category_.json
@@ -1,4 +1,4 @@
{
"label": "System",
- "position": 8
+ "position": 9
}
diff --git a/docs/schema/reference/system/country_code_alpha2.md b/docs/schema/reference/system/country_code_alpha2.md
index f159aa6f..62980aca 100644
--- a/docs/schema/reference/system/country_code_alpha2.md
+++ b/docs/schema/reference/system/country_code_alpha2.md
@@ -11,6 +11,7 @@ Underlying type: `string`
## Used By
- [`Address`](../addresses/address.md)
+- [`Address`](../places/types/address.md)
- [`Division`](../divisions/division.md)
- [`DivisionArea`](../divisions/division_area.md)
- [`DivisionBoundary`](../divisions/division_boundary.md)
diff --git a/docs/schema/reference/system/phone_number.md b/docs/schema/reference/system/phone_number.md
index 6d326c7d..8bfed046 100644
--- a/docs/schema/reference/system/phone_number.md
+++ b/docs/schema/reference/system/phone_number.md
@@ -6,7 +6,7 @@ Underlying type: `string`
## Constraints
-- Constraint for international phone numbers. (`PhoneNumberConstraint`, pattern: `^\+\d{1,3}[\s\-\(\)0-9]+$`)
+- Allows only international phone numbers. (`PhoneNumberConstraint`, pattern: `^\+\d{1,3}[\s\-\(\)0-9]+$`)
## Used By
diff --git a/docs/schema/reference/system/ref/id.md b/docs/schema/reference/system/ref/id.md
index 08e7ef1f..0625858d 100644
--- a/docs/schema/reference/system/ref/id.md
+++ b/docs/schema/reference/system/ref/id.md
@@ -6,7 +6,7 @@ Underlying type: `string`
## Constraints
-- `minimum length: 1`
+- Minimum length: 1
- Allows only strings that contain no whitespace characters. (`NoWhitespaceConstraint`, pattern: `^\S+$`) (from [`NoWhitespaceString`](../no_whitespace_string.md))
## Used By
diff --git a/docs/schema/reference/system/region_code.md b/docs/schema/reference/system/region_code.md
index 755bb26a..bf2f016e 100644
--- a/docs/schema/reference/system/region_code.md
+++ b/docs/schema/reference/system/region_code.md
@@ -6,10 +6,11 @@ Underlying type: `string`
## Constraints
-- ISO 3166-2 principal subdivision code constraint. (`RegionCodeConstraint`, pattern: `^[A-Z]{2}-[A-Z0-9]{1,3}$`)
+- Allows only ISO 3166-2 principal subdivision codes. (`RegionCodeConstraint`, pattern: `^[A-Z]{2}-[A-Z0-9]{1,3}$`)
## Used By
+- [`Address`](../places/types/address.md)
- [`Division`](../divisions/division.md)
- [`DivisionArea`](../divisions/division_area.md)
- [`DivisionBoundary`](../divisions/division_boundary.md)
diff --git a/docs/schema/reference/system/wikidata_id.md b/docs/schema/reference/system/wikidata_id.md
index 83ae967b..ebef7cee 100644
--- a/docs/schema/reference/system/wikidata_id.md
+++ b/docs/schema/reference/system/wikidata_id.md
@@ -10,7 +10,7 @@ Underlying type: `string`
## Constraints
-- Constraint for Wikidata identifiers (Q followed by digits). (`WikidataIdConstraint`, pattern: `^Q\d+$`)
+- Allows only Wikidata identifiers (Q followed by digits). (`WikidataIdConstraint`, pattern: `^Q\d+$`)
## Used By
diff --git a/docs/schema/reference/transportation/connector.md b/docs/schema/reference/transportation/connector.md
index 670036e0..6230f2ba 100644
--- a/docs/schema/reference/transportation/connector.md
+++ b/docs/schema/reference/transportation/connector.md
@@ -13,8 +13,8 @@ Connectors are compatible with GeoJSON Point features.
| Name | Type | Description |
| -----: | :----: | ------------- |
| `id` | [`Id`](../system/ref/id.md) | A feature ID. This may be an ID associated with the Global Entity Reference System (GERS) if—and-only-if the feature represents an entity that is part of GERS. |
-| `bbox` | `bbox` (optional) | An optional bounding box for the feature |
-| `geometry` | `geometry` | Position of the connector
*Allowed geometry types: Point* |
+| `bbox` | [`bbox`](../system/primitive/geometry.md) (optional) | An optional bounding box for the feature |
+| `geometry` | [`geometry`](../system/primitive/geometry.md) | Position of the connector
*Allowed geometry types: Point* |
| `theme` | `"transportation"` | |
| `type` | `"connector"` | |
| `version` | [`FeatureVersion`](../core/feature_version.md) | |
@@ -32,6 +32,10 @@ Connectors are compatible with GeoJSON Point features.
| Column | Value |
| -------: | ------- |
| `id` | `39542bee-230f-4b91-b7e5-a9b58e0c59b1` |
+| `bbox.xmin` | `-176.54730224609375` |
+| `bbox.xmax` | `-176.54727172851562` |
+| `bbox.ymin` | `-43.96794891357422` |
+| `bbox.ymax` | `-43.96794128417969` |
| `geometry` | `POINT (-176.5472979 -43.9679472)` |
| `theme` | `transportation` |
| `type` | `connector` |
diff --git a/docs/schema/reference/transportation/segment.md b/docs/schema/reference/transportation/segment.md
index 14600532..2b831990 100644
--- a/docs/schema/reference/transportation/segment.md
+++ b/docs/schema/reference/transportation/segment.md
@@ -9,8 +9,8 @@ sidebar_position: 1
| Name | Type | Description |
| -----: | :----: | ------------- |
| `id` | [`Id`](../system/ref/id.md) | A feature ID. This may be an ID associated with the Global Entity Reference System (GERS) if—and-only-if the feature represents an entity that is part of GERS. |
-| `bbox` | `bbox` (optional) | An optional bounding box for the feature |
-| `geometry` | `geometry` | Segment centerline
*Allowed geometry types: LineString* |
+| `bbox` | [`bbox`](../system/primitive/geometry.md) (optional) | An optional bounding box for the feature |
+| `geometry` | [`geometry`](../system/primitive/geometry.md) | Segment centerline
*Allowed geometry types: LineString* |
| `theme` | `"transportation"` | |
| `type` | `"segment"` | |
| `version` | [`FeatureVersion`](../core/feature_version.md) | |
@@ -33,7 +33,7 @@ sidebar_position: 1
| `access_restrictions[].when.using` | `list<`[`PurposeOfUse`](../core/scoping/purpose_of_use.md)`>` (optional) | A list of one or more usage purposes, such as delivery or arrival at final destination, that the containing AccessRestrictionRule applies to. |
| `access_restrictions[].when.recognized` | `list<`[`RecognizedStatus`](../core/scoping/recognized_status.md)`>` (optional) | A list of one or more recognized status values, such as employee or student, that the containing AccessRestrictionRule applies to. |
| `access_restrictions[].when.vehicle` | [`VehicleAxleCountSelector`](../core/scoping/vehicle_axle_count_selector.md) \| [`VehicleHeightSelector`](../core/scoping/vehicle_height_selector.md) \| [`VehicleLengthSelector`](../core/scoping/vehicle_length_selector.md) \| [`VehicleWeightSelector`](../core/scoping/vehicle_weight_selector.md) \| [`VehicleWidthSelector`](../core/scoping/vehicle_width_selector.md) (list, optional) | A list of one or more vehicle parameters that limit the vehicles the containing AccessRestrictionRule applies to. |
-| `connectors[]` | `list<`[`ConnectorReference`](types/connector_reference.md)`>` (optional) | List of connectors which this segment is physically connected to and their relative location. Each connector is a possible routing decision point, meaning it defines a place along the segment in which there is possibility to transition to other segments which share the same connector.
*`minimum length: 2`*
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)* |
+| `connectors[]` | `list<`[`ConnectorReference`](types/connector_reference.md)`>` (optional) | List of connectors which this segment is physically connected to and their relative location. Each connector is a possible routing decision point, meaning it defines a place along the segment in which there is possibility to transition to other segments which share the same connector.
*Minimum length: 2*
*All items must be unique. (`UniqueItemsConstraint`)* |
| `connectors[].connector_id` | [`Id`](../system/ref/id.md) | A unique identifier |
| `connectors[].at` | [`LinearlyReferencedPosition`](../core/scoping/linearly_referenced_position.md) (optional) | The linearly-referenced position on the geometry, specified as a percentage displacement from the start of the geometry, that the containing ConnectorReference applies to. |
| `level_rules[]` | [`LevelRules`](types/level_rules.md) (list, optional) | Defines the Z-order, i.e. stacking order, of the road segment. |
@@ -58,7 +58,7 @@ sidebar_position: 1
| `names.rules[].language` | [`LanguageTag`](../system/language_tag.md) (optional) | The language in which the name `value` is specified, if known, as an IETF BCP 47 language tag. |
| `names.rules[].perspectives` | [`Perspectives`](../core/perspectives.md) (optional) | Political perspectives from which a named feature is viewed. |
| `names.rules[].perspectives.mode` | [`PerspectiveMode`](../core/perspective_mode.md) | Whether the perspective holder accepts or disputes this name. |
-| `names.rules[].perspectives.countries` | [`CountryCodeAlpha2`](../system/country_code_alpha2.md) (list) | Countries holding the given mode of perspective. |
+| `names.rules[].perspectives.countries` | `list<`[`CountryCodeAlpha2`](../system/country_code_alpha2.md)`>` | Countries holding the given mode of perspective. |
| `names.rules[].between` | [`LinearlyReferencedRange`](../core/scoping/linearly_referenced_range.md) (list, optional) | The linearly-referenced sub-segment of the geometry, specified as a range (pair) of percentage displacements from the start of the geometry, that the containing NameRule applies to. |
| `names.rules[].side` | [`Side`](../core/scoping/side.md) (optional) | The side, either left or right, that the containing NameRule applies to. |
| `class` *(Road)* | [`RoadClass`](types/road_class.md) | |
@@ -122,7 +122,11 @@ sidebar_position: 1
| Column | Value |
| -------: | ------- |
| `id` | `1bc62f3b-08b5-42b8-89fe-36f685f60455` |
-| `geometry` | `LINESTRING (-176.5636191 -43.954404, -176.5643637 -43.9538145, -176.5647264 -43.9535274, -176.564994...` |
+| `bbox.xmin` | `-176.5650177001953` |
+| `bbox.xmax` | `-176.56361389160156` |
+| `bbox.ymin` | `-43.954410552978516` |
+| `bbox.ymax` | `-43.953250885009766` |
+| `geometry` | `LINESTRING (-176.5636191 -43.954404, -176.5643637 -43.9538145, -176.5647264 -43.9535274, -176.564...` |
| `theme` | `transportation` |
| `type` | `segment` |
| `version` | `1` |
diff --git a/docs/schema/reference/transportation/types/access_restriction_rule.when.md b/docs/schema/reference/transportation/types/access_restriction_rule.when.md
index 2341b567..a28cf64b 100644
--- a/docs/schema/reference/transportation/types/access_restriction_rule.when.md
+++ b/docs/schema/reference/transportation/types/access_restriction_rule.when.md
@@ -6,12 +6,12 @@ Scopes for AccessRestrictionRule: Scope.HEADING, Scope.TEMPORAL, Scope.TRAVEL MO
| Name | Type | Description |
| -----: | :----: | ------------- |
-| `heading` | [`Heading`](../../core/scoping/heading.md) (optional) | The heading, either forward or backward, that the containing AccessRestrictionRule applies to.
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
-| `during` | [`OpeningHours`](../../core/scoping/opening_hours.md) (optional) | The recurring time span, in the OpenStreetMap opening hours format, that the containing AccessRestrictionRule applies to. For the OSM opening hours specification, see https://wiki.openstreetmap.org/wiki/Key:opening_hours/specification.
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
-| `mode` | `list<`[`TravelMode`](../../core/scoping/travel_mode.md)`>` (optional) | A list of one or more travel modes, such as car, truck, or foot, that the containing AccessRestrictionRule applies to.
*`minimum length: 1`*
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)*
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
-| `using` | `list<`[`PurposeOfUse`](../../core/scoping/purpose_of_use.md)`>` (optional) | A list of one or more usage purposes, such as delivery or arrival at final destination, that the containing AccessRestrictionRule applies to.
*`minimum length: 1`*
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)*
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
-| `recognized` | `list<`[`RecognizedStatus`](../../core/scoping/recognized_status.md)`>` (optional) | A list of one or more recognized status values, such as employee or student, that the containing AccessRestrictionRule applies to.
*`minimum length: 1`*
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)*
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
-| `vehicle` | [`VehicleAxleCountSelector`](../../core/scoping/vehicle_axle_count_selector.md) \| [`VehicleHeightSelector`](../../core/scoping/vehicle_height_selector.md) \| [`VehicleLengthSelector`](../../core/scoping/vehicle_length_selector.md) \| [`VehicleWeightSelector`](../../core/scoping/vehicle_weight_selector.md) \| [`VehicleWidthSelector`](../../core/scoping/vehicle_width_selector.md) (list, optional) | A list of one or more vehicle parameters that limit the vehicles the containing AccessRestrictionRule applies to.
*`minimum length: 1`*
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)*
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
+| `heading` | [`Heading`](../../core/scoping/heading.md) (optional) | The heading, either forward or backward, that the containing AccessRestrictionRule applies to.
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
+| `during` | [`OpeningHours`](../../core/scoping/opening_hours.md) (optional) | The recurring time span, in the OpenStreetMap opening hours format, that the containing AccessRestrictionRule applies to. For the OSM opening hours specification, see https://wiki.openstreetmap.org/wiki/Key:opening_hours/specification.
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
+| `mode` | `list<`[`TravelMode`](../../core/scoping/travel_mode.md)`>` (optional) | A list of one or more travel modes, such as car, truck, or foot, that the containing AccessRestrictionRule applies to.
*Minimum length: 1*
*All items must be unique. (`UniqueItemsConstraint`)*
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
+| `using` | `list<`[`PurposeOfUse`](../../core/scoping/purpose_of_use.md)`>` (optional) | A list of one or more usage purposes, such as delivery or arrival at final destination, that the containing AccessRestrictionRule applies to.
*Minimum length: 1*
*All items must be unique. (`UniqueItemsConstraint`)*
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
+| `recognized` | `list<`[`RecognizedStatus`](../../core/scoping/recognized_status.md)`>` (optional) | A list of one or more recognized status values, such as employee or student, that the containing AccessRestrictionRule applies to.
*Minimum length: 1*
*All items must be unique. (`UniqueItemsConstraint`)*
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
+| `vehicle` | [`VehicleAxleCountSelector`](../../core/scoping/vehicle_axle_count_selector.md) \| [`VehicleHeightSelector`](../../core/scoping/vehicle_height_selector.md) \| [`VehicleLengthSelector`](../../core/scoping/vehicle_length_selector.md) \| [`VehicleWeightSelector`](../../core/scoping/vehicle_weight_selector.md) \| [`VehicleWidthSelector`](../../core/scoping/vehicle_width_selector.md) (list, optional) | A list of one or more vehicle parameters that limit the vehicles the containing AccessRestrictionRule applies to.
*Minimum length: 1*
*All items must be unique. (`UniqueItemsConstraint`)*
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
## Constraints
diff --git a/docs/schema/reference/transportation/types/access_rules.md b/docs/schema/reference/transportation/types/access_rules.md
index 056e870e..1f3341a7 100644
--- a/docs/schema/reference/transportation/types/access_rules.md
+++ b/docs/schema/reference/transportation/types/access_rules.md
@@ -6,8 +6,8 @@ Underlying type: `list<`[`AccessRestrictionRule`](access_restriction_rule.md)`>`
## Constraints
-- `minimum length: 1`
-- Ensures all items in a collection are unique. (`UniqueItemsConstraint`)
+- Minimum length: 1
+- All items must be unique. (`UniqueItemsConstraint`)
## Used By
diff --git a/docs/schema/reference/transportation/types/connector_reference.md b/docs/schema/reference/transportation/types/connector_reference.md
index 17d9c709..32a547d7 100644
--- a/docs/schema/reference/transportation/types/connector_reference.md
+++ b/docs/schema/reference/transportation/types/connector_reference.md
@@ -7,7 +7,7 @@ segment.
| Name | Type | Description |
| -----: | :----: | ------------- |
-| `connector_id` | [`Id`](../../system/ref/id.md) | A unique identifier
*References [`Connector`](../connector.md) (connects to)* |
+| `connector_id` | [`Id`](../../system/ref/id.md) | A unique identifier
*References [`Connector`](../connector.md) (connects to)* |
| `at` | [`LinearlyReferencedPosition`](../../core/scoping/linearly_referenced_position.md) (optional) | The linearly-referenced position on the geometry, specified as a percentage displacement from the start of the geometry, that the containing ConnectorReference applies to. |
## Used By
diff --git a/docs/schema/reference/transportation/types/destination_labels.md b/docs/schema/reference/transportation/types/destination_labels.md
index 6d092868..578aaaac 100644
--- a/docs/schema/reference/transportation/types/destination_labels.md
+++ b/docs/schema/reference/transportation/types/destination_labels.md
@@ -6,7 +6,7 @@ The type of object of the destination label.
| Name | Type | Description |
| -----: | :----: | ------------- |
-| `value` | [`StrippedString`](../../system/stripped_string.md) | Names the object that is reached
*`minimum length: 1`* |
+| `value` | [`StrippedString`](../../system/stripped_string.md) | Names the object that is reached
*Minimum length: 1* |
| `type` | [`DestinationLabelType`](destination_label_type.md) | |
## Used By
diff --git a/docs/schema/reference/transportation/types/destination_rule.md b/docs/schema/reference/transportation/types/destination_rule.md
index d7cbf014..34cab4b5 100644
--- a/docs/schema/reference/transportation/types/destination_rule.md
+++ b/docs/schema/reference/transportation/types/destination_rule.md
@@ -8,10 +8,10 @@
| `to_connector_id` | [`Id`](../../system/ref/id.md) | Identifies the point of physical connection on the segment identified by 'to_segment_id' to transition to for reaching the destination(s). |
| `to_segment_id` | [`Id`](../../system/ref/id.md) | Identifies the segment to transition to reach the destination(s) labeled on the sign or marking. |
| `final_heading` | [`Heading`](../../core/scoping/heading.md) | Direction of travel on the segment identified by 'to_segment_id' that leads to the destination. |
-| `labels[]` | `list<`[`DestinationLabels`](destination_labels.md)`>` (optional) | Labeled destinations that can be reached by following the segment.
*`minimum length: 1`*
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)*
*At least one of `labels`, `symbols` must be set* |
+| `labels[]` | `list<`[`DestinationLabels`](destination_labels.md)`>` (optional) | Labeled destinations that can be reached by following the segment.
*Minimum length: 1*
*All items must be unique. (`UniqueItemsConstraint`)*
*At least one of `labels`, `symbols` must be set* |
| `labels[].value` | [`StrippedString`](../../system/stripped_string.md) | Names the object that is reached |
| `labels[].type` | [`DestinationLabelType`](destination_label_type.md) | |
-| `symbols` | `list<`[`DestinationSignSymbol`](destination_sign_symbol.md)`>` (optional) | A collection of symbols or icons present on the sign next to current destination label.
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)*
*At least one of `labels`, `symbols` must be set* |
+| `symbols` | `list<`[`DestinationSignSymbol`](destination_sign_symbol.md)`>` (optional) | A collection of symbols or icons present on the sign next to current destination label.
*All items must be unique. (`UniqueItemsConstraint`)*
*At least one of `labels`, `symbols` must be set* |
| `when` | [`DestinationRule.When`](destination_rule.when.md) (optional) | Scope for DestinationRule: |
| `when.heading` | [`Heading`](../../core/scoping/heading.md) | The heading, either forward or backward, that the containing DestinationRule applies to. |
diff --git a/docs/schema/reference/transportation/types/prohibited_transition_rule.md b/docs/schema/reference/transportation/types/prohibited_transition_rule.md
index 8f14281d..40c3e965 100644
--- a/docs/schema/reference/transportation/types/prohibited_transition_rule.md
+++ b/docs/schema/reference/transportation/types/prohibited_transition_rule.md
@@ -4,7 +4,7 @@
| Name | Type | Description |
| -----: | :----: | ------------- |
-| `sequence[]` | `list<`[`SequenceEntry`](sequence_entry.md)`>` | Ordered sequence of connector/segment pairs that it is prohibited to follow from this segment.
*`minimum length: 1`*
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)* |
+| `sequence[]` | `list<`[`SequenceEntry`](sequence_entry.md)`>` | Ordered sequence of connector/segment pairs that it is prohibited to follow from this segment.
*Minimum length: 1*
*All items must be unique. (`UniqueItemsConstraint`)* |
| `sequence[].connector_id` | [`Id`](../../system/ref/id.md) | Identifies the point of physical connection between the previous segment in the sequence and the segment in this sequence entry. |
| `sequence[].segment_id` | [`Id`](../../system/ref/id.md) | Identifies the segment that the previous segment in the sequence is physically connected to via the sequence entry's connector. |
| `final_heading` | [`Heading`](../../core/scoping/heading.md) | Direction of travel that is prohibited on the destination segment of the sequence. |
diff --git a/docs/schema/reference/transportation/types/prohibited_transition_rule.when.md b/docs/schema/reference/transportation/types/prohibited_transition_rule.when.md
index d2ecfaef..0a6d14d6 100644
--- a/docs/schema/reference/transportation/types/prohibited_transition_rule.when.md
+++ b/docs/schema/reference/transportation/types/prohibited_transition_rule.when.md
@@ -6,12 +6,12 @@ Scopes for ProhibitedTransitionRule: Scope.HEADING, Scope.TEMPORAL, Scope.TRAVEL
| Name | Type | Description |
| -----: | :----: | ------------- |
-| `heading` | [`Heading`](../../core/scoping/heading.md) (optional) | The heading, either forward or backward, that the containing ProhibitedTransitionRule applies to.
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
-| `during` | [`OpeningHours`](../../core/scoping/opening_hours.md) (optional) | The recurring time span, in the OpenStreetMap opening hours format, that the containing ProhibitedTransitionRule applies to. For the OSM opening hours specification, see https://wiki.openstreetmap.org/wiki/Key:opening_hours/specification.
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
-| `mode` | `list<`[`TravelMode`](../../core/scoping/travel_mode.md)`>` (optional) | A list of one or more travel modes, such as car, truck, or foot, that the containing ProhibitedTransitionRule applies to.
*`minimum length: 1`*
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)*
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
-| `using` | `list<`[`PurposeOfUse`](../../core/scoping/purpose_of_use.md)`>` (optional) | A list of one or more usage purposes, such as delivery or arrival at final destination, that the containing ProhibitedTransitionRule applies to.
*`minimum length: 1`*
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)*
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
-| `recognized` | `list<`[`RecognizedStatus`](../../core/scoping/recognized_status.md)`>` (optional) | A list of one or more recognized status values, such as employee or student, that the containing ProhibitedTransitionRule applies to.
*`minimum length: 1`*
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)*
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
-| `vehicle` | [`VehicleAxleCountSelector`](../../core/scoping/vehicle_axle_count_selector.md) \| [`VehicleHeightSelector`](../../core/scoping/vehicle_height_selector.md) \| [`VehicleLengthSelector`](../../core/scoping/vehicle_length_selector.md) \| [`VehicleWeightSelector`](../../core/scoping/vehicle_weight_selector.md) \| [`VehicleWidthSelector`](../../core/scoping/vehicle_width_selector.md) (list, optional) | A list of one or more vehicle parameters that limit the vehicles the containing ProhibitedTransitionRule applies to.
*`minimum length: 1`*
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)*
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
+| `heading` | [`Heading`](../../core/scoping/heading.md) (optional) | The heading, either forward or backward, that the containing ProhibitedTransitionRule applies to.
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
+| `during` | [`OpeningHours`](../../core/scoping/opening_hours.md) (optional) | The recurring time span, in the OpenStreetMap opening hours format, that the containing ProhibitedTransitionRule applies to. For the OSM opening hours specification, see https://wiki.openstreetmap.org/wiki/Key:opening_hours/specification.
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
+| `mode` | `list<`[`TravelMode`](../../core/scoping/travel_mode.md)`>` (optional) | A list of one or more travel modes, such as car, truck, or foot, that the containing ProhibitedTransitionRule applies to.
*Minimum length: 1*
*All items must be unique. (`UniqueItemsConstraint`)*
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
+| `using` | `list<`[`PurposeOfUse`](../../core/scoping/purpose_of_use.md)`>` (optional) | A list of one or more usage purposes, such as delivery or arrival at final destination, that the containing ProhibitedTransitionRule applies to.
*Minimum length: 1*
*All items must be unique. (`UniqueItemsConstraint`)*
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
+| `recognized` | `list<`[`RecognizedStatus`](../../core/scoping/recognized_status.md)`>` (optional) | A list of one or more recognized status values, such as employee or student, that the containing ProhibitedTransitionRule applies to.
*Minimum length: 1*
*All items must be unique. (`UniqueItemsConstraint`)*
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
+| `vehicle` | [`VehicleAxleCountSelector`](../../core/scoping/vehicle_axle_count_selector.md) \| [`VehicleHeightSelector`](../../core/scoping/vehicle_height_selector.md) \| [`VehicleLengthSelector`](../../core/scoping/vehicle_length_selector.md) \| [`VehicleWeightSelector`](../../core/scoping/vehicle_weight_selector.md) \| [`VehicleWidthSelector`](../../core/scoping/vehicle_width_selector.md) (list, optional) | A list of one or more vehicle parameters that limit the vehicles the containing ProhibitedTransitionRule applies to.
*Minimum length: 1*
*All items must be unique. (`UniqueItemsConstraint`)*
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
## Constraints
diff --git a/docs/schema/reference/transportation/types/rail_flag_rule.md b/docs/schema/reference/transportation/types/rail_flag_rule.md
index ecc911c2..06bf91cc 100644
--- a/docs/schema/reference/transportation/types/rail_flag_rule.md
+++ b/docs/schema/reference/transportation/types/rail_flag_rule.md
@@ -6,7 +6,7 @@ Rail-specific flag rule with geometric scoping only.
| Name | Type | Description |
| -----: | :----: | ------------- |
-| `values` | `list<`[`RailFlag`](rail_flag.md)`>` | *`minimum length: 1`*
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)* |
+| `values` | `list<`[`RailFlag`](rail_flag.md)`>` | *Minimum length: 1*
*All items must be unique. (`UniqueItemsConstraint`)* |
| `between` | [`LinearlyReferencedRange`](../../core/scoping/linearly_referenced_range.md) (list, optional) | The linearly-referenced sub-segment of the geometry, specified as a range (pair) of percentage displacements from the start of the geometry, that the containing RailFlagRule applies to. |
## Used By
diff --git a/docs/schema/reference/transportation/types/rail_flags.md b/docs/schema/reference/transportation/types/rail_flags.md
index 3760d311..80633185 100644
--- a/docs/schema/reference/transportation/types/rail_flags.md
+++ b/docs/schema/reference/transportation/types/rail_flags.md
@@ -6,8 +6,8 @@ Underlying type: `list<`[`RailFlagRule`](rail_flag_rule.md)`>`
## Constraints
-- `minimum length: 1`
-- Ensures all items in a collection are unique. (`UniqueItemsConstraint`)
+- Minimum length: 1
+- All items must be unique. (`UniqueItemsConstraint`)
## Used By
diff --git a/docs/schema/reference/transportation/types/road_flag_rule.md b/docs/schema/reference/transportation/types/road_flag_rule.md
index 736e6aae..d7a823ee 100644
--- a/docs/schema/reference/transportation/types/road_flag_rule.md
+++ b/docs/schema/reference/transportation/types/road_flag_rule.md
@@ -6,7 +6,7 @@ Road-specific flag rule with geometric scoping only.
| Name | Type | Description |
| -----: | :----: | ------------- |
-| `values` | `list<`[`RoadFlag`](road_flag.md)`>` | *`minimum length: 1`*
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)* |
+| `values` | `list<`[`RoadFlag`](road_flag.md)`>` | *Minimum length: 1*
*All items must be unique. (`UniqueItemsConstraint`)* |
| `between` | [`LinearlyReferencedRange`](../../core/scoping/linearly_referenced_range.md) (list, optional) | The linearly-referenced sub-segment of the geometry, specified as a range (pair) of percentage displacements from the start of the geometry, that the containing RoadFlagRule applies to. |
## Used By
diff --git a/docs/schema/reference/transportation/types/road_flags.md b/docs/schema/reference/transportation/types/road_flags.md
index 03ecb015..88445c57 100644
--- a/docs/schema/reference/transportation/types/road_flags.md
+++ b/docs/schema/reference/transportation/types/road_flags.md
@@ -6,8 +6,8 @@ Underlying type: `list<`[`RoadFlagRule`](road_flag_rule.md)`>`
## Constraints
-- `minimum length: 1`
-- Ensures all items in a collection are unique. (`UniqueItemsConstraint`)
+- Minimum length: 1
+- All items must be unique. (`UniqueItemsConstraint`)
## Used By
diff --git a/docs/schema/reference/transportation/types/route_reference.md b/docs/schema/reference/transportation/types/route_reference.md
index dbefedb1..e3a9f7c2 100644
--- a/docs/schema/reference/transportation/types/route_reference.md
+++ b/docs/schema/reference/transportation/types/route_reference.md
@@ -6,10 +6,10 @@ Route reference with linear referencing support.
| Name | Type | Description |
| -----: | :----: | ------------- |
-| `name` | [`StrippedString`](../../system/stripped_string.md) (optional) | Full name of the route
*`minimum length: 1`* |
-| `network` | [`StrippedString`](../../system/stripped_string.md) (optional) | Name of the highway system this route belongs to
*`minimum length: 1`* |
-| `ref` | [`StrippedString`](../../system/stripped_string.md) (optional) | Code or number used to reference the route
*`minimum length: 1`* |
-| `symbol` | [`StrippedString`](../../system/stripped_string.md) (optional) | URL or description of route signage
*`minimum length: 1`* |
+| `name` | [`StrippedString`](../../system/stripped_string.md) (optional) | Full name of the route
*Minimum length: 1* |
+| `network` | [`StrippedString`](../../system/stripped_string.md) (optional) | Name of the highway system this route belongs to
*Minimum length: 1* |
+| `ref` | [`StrippedString`](../../system/stripped_string.md) (optional) | Code or number used to reference the route
*Minimum length: 1* |
+| `symbol` | [`StrippedString`](../../system/stripped_string.md) (optional) | URL or description of route signage
*Minimum length: 1* |
| `wikidata` | [`WikidataId`](../../system/wikidata_id.md) (optional) | A wikidata ID, as found on https://www.wikidata.org/ |
| `between` | [`LinearlyReferencedRange`](../../core/scoping/linearly_referenced_range.md) (list, optional) | The linearly-referenced sub-segment of the geometry, specified as a range (pair) of percentage displacements from the start of the geometry, that the containing RouteReference applies to. |
diff --git a/docs/schema/reference/transportation/types/speed_limit_rule.md b/docs/schema/reference/transportation/types/speed_limit_rule.md
index 4ef7bab1..cad040b2 100644
--- a/docs/schema/reference/transportation/types/speed_limit_rule.md
+++ b/docs/schema/reference/transportation/types/speed_limit_rule.md
@@ -12,7 +12,7 @@ An individual speed limit rule.
| `min_speed` | [`Speed`](speed.md) (optional) | *At least one of `max_speed`, `min_speed` must be set* |
| `min_speed.value` | [`SpeedValue`](speed_value.md) | Speed value |
| `min_speed.unit` | [`SpeedUnit`](../../core/speed_unit.md) | |
-| `is_max_speed_variable` | `boolean` (optional) | Indicates a variable speed corridor
*`strict=True`* |
+| `is_max_speed_variable` | `boolean` (optional) | Indicates a variable speed corridor
*`strict=True`* |
| `between` | [`LinearlyReferencedRange`](../../core/scoping/linearly_referenced_range.md) (list, optional) | The linearly-referenced sub-segment of the geometry, specified as a range (pair) of percentage displacements from the start of the geometry, that the containing SpeedLimitRule applies to. |
| `when` | [`SpeedLimitRule.When`](speed_limit_rule.when.md) (optional) | Scopes for SpeedLimitRule: Scope.HEADING, Scope.TEMPORAL, Scope.TRAVEL MODE, Scope.PURPOSE OF USE, Scope.RECOGNIZED STATUS and Scope.VEHICLE |
| `when.heading` | [`Heading`](../../core/scoping/heading.md) (optional) | The heading, either forward or backward, that the containing SpeedLimitRule applies to. |
diff --git a/docs/schema/reference/transportation/types/speed_limit_rule.when.md b/docs/schema/reference/transportation/types/speed_limit_rule.when.md
index c1014c0c..3d243123 100644
--- a/docs/schema/reference/transportation/types/speed_limit_rule.when.md
+++ b/docs/schema/reference/transportation/types/speed_limit_rule.when.md
@@ -6,12 +6,12 @@ Scopes for SpeedLimitRule: Scope.HEADING, Scope.TEMPORAL, Scope.TRAVEL MODE, Sco
| Name | Type | Description |
| -----: | :----: | ------------- |
-| `heading` | [`Heading`](../../core/scoping/heading.md) (optional) | The heading, either forward or backward, that the containing SpeedLimitRule applies to.
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
-| `during` | [`OpeningHours`](../../core/scoping/opening_hours.md) (optional) | The recurring time span, in the OpenStreetMap opening hours format, that the containing SpeedLimitRule applies to. For the OSM opening hours specification, see https://wiki.openstreetmap.org/wiki/Key:opening_hours/specification.
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
-| `mode` | `list<`[`TravelMode`](../../core/scoping/travel_mode.md)`>` (optional) | A list of one or more travel modes, such as car, truck, or foot, that the containing SpeedLimitRule applies to.
*`minimum length: 1`*
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)*
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
-| `using` | `list<`[`PurposeOfUse`](../../core/scoping/purpose_of_use.md)`>` (optional) | A list of one or more usage purposes, such as delivery or arrival at final destination, that the containing SpeedLimitRule applies to.
*`minimum length: 1`*
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)*
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
-| `recognized` | `list<`[`RecognizedStatus`](../../core/scoping/recognized_status.md)`>` (optional) | A list of one or more recognized status values, such as employee or student, that the containing SpeedLimitRule applies to.
*`minimum length: 1`*
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)*
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
-| `vehicle` | [`VehicleAxleCountSelector`](../../core/scoping/vehicle_axle_count_selector.md) \| [`VehicleHeightSelector`](../../core/scoping/vehicle_height_selector.md) \| [`VehicleLengthSelector`](../../core/scoping/vehicle_length_selector.md) \| [`VehicleWeightSelector`](../../core/scoping/vehicle_weight_selector.md) \| [`VehicleWidthSelector`](../../core/scoping/vehicle_width_selector.md) (list, optional) | A list of one or more vehicle parameters that limit the vehicles the containing SpeedLimitRule applies to.
*`minimum length: 1`*
*Ensures all items in a collection are unique. (`UniqueItemsConstraint`)*
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
+| `heading` | [`Heading`](../../core/scoping/heading.md) (optional) | The heading, either forward or backward, that the containing SpeedLimitRule applies to.
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
+| `during` | [`OpeningHours`](../../core/scoping/opening_hours.md) (optional) | The recurring time span, in the OpenStreetMap opening hours format, that the containing SpeedLimitRule applies to. For the OSM opening hours specification, see https://wiki.openstreetmap.org/wiki/Key:opening_hours/specification.
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
+| `mode` | `list<`[`TravelMode`](../../core/scoping/travel_mode.md)`>` (optional) | A list of one or more travel modes, such as car, truck, or foot, that the containing SpeedLimitRule applies to.
*Minimum length: 1*
*All items must be unique. (`UniqueItemsConstraint`)*
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
+| `using` | `list<`[`PurposeOfUse`](../../core/scoping/purpose_of_use.md)`>` (optional) | A list of one or more usage purposes, such as delivery or arrival at final destination, that the containing SpeedLimitRule applies to.
*Minimum length: 1*
*All items must be unique. (`UniqueItemsConstraint`)*
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
+| `recognized` | `list<`[`RecognizedStatus`](../../core/scoping/recognized_status.md)`>` (optional) | A list of one or more recognized status values, such as employee or student, that the containing SpeedLimitRule applies to.
*Minimum length: 1*
*All items must be unique. (`UniqueItemsConstraint`)*
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
+| `vehicle` | [`VehicleAxleCountSelector`](../../core/scoping/vehicle_axle_count_selector.md) \| [`VehicleHeightSelector`](../../core/scoping/vehicle_height_selector.md) \| [`VehicleLengthSelector`](../../core/scoping/vehicle_length_selector.md) \| [`VehicleWeightSelector`](../../core/scoping/vehicle_weight_selector.md) \| [`VehicleWidthSelector`](../../core/scoping/vehicle_width_selector.md) (list, optional) | A list of one or more vehicle parameters that limit the vehicles the containing SpeedLimitRule applies to.
*Minimum length: 1*
*All items must be unique. (`UniqueItemsConstraint`)*
*At least one of `heading`, `during`, `mode`, `using`, `recognized`, `vehicle` must be set* |
## Constraints
diff --git a/docs/schema/reference/transportation/types/speed_limits.md b/docs/schema/reference/transportation/types/speed_limits.md
index ee56f981..c42f4726 100644
--- a/docs/schema/reference/transportation/types/speed_limits.md
+++ b/docs/schema/reference/transportation/types/speed_limits.md
@@ -6,8 +6,8 @@ Underlying type: `list<`[`SpeedLimitRule`](speed_limit_rule.md)`>`
## Constraints
-- `minimum length: 1`
-- Ensures all items in a collection are unique. (`UniqueItemsConstraint`)
+- Minimum length: 1
+- All items must be unique. (`UniqueItemsConstraint`)
## Used By
diff --git a/docs/schema/reference/transportation/types/surfaces.md b/docs/schema/reference/transportation/types/surfaces.md
index f1294e72..846f4882 100644
--- a/docs/schema/reference/transportation/types/surfaces.md
+++ b/docs/schema/reference/transportation/types/surfaces.md
@@ -6,8 +6,8 @@ Underlying type: `list<`[`SurfaceRule`](surface_rule.md)`>`
## Constraints
-- `minimum length: 1`
-- Ensures all items in a collection are unique. (`UniqueItemsConstraint`)
+- Minimum length: 1
+- All items must be unique. (`UniqueItemsConstraint`)
## Used By
diff --git a/docs/schema/reference/transportation/types/width_rules.md b/docs/schema/reference/transportation/types/width_rules.md
index 92537325..1c5cbf03 100644
--- a/docs/schema/reference/transportation/types/width_rules.md
+++ b/docs/schema/reference/transportation/types/width_rules.md
@@ -8,8 +8,8 @@ Underlying type: `list<`[`WidthRule`](width_rule.md)`>`
## Constraints
-- `minimum length: 1`
-- Ensures all items in a collection are unique. (`UniqueItemsConstraint`)
+- Minimum length: 1
+- All items must be unique. (`UniqueItemsConstraint`)
## Used By