You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+6-1Lines changed: 6 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -7,11 +7,16 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
7
7
8
8
## [Unreleased]
9
9
10
+
### Added
11
+
12
+
- Summaries are allowed to specify JSON Schema in addition to ranges and sets of values. ([#1045](https://github.com/radiantearth/stac-spec/issues/1045))
13
+
10
14
### Changed
11
15
12
16
- The first extent in a Collection is always the overall extent, followed by more specific extents. ([#1064](https://github.com/radiantearth/stac-spec/issues/1064), [opengeospatial/ogcapi-features#520](https://github.com/opengeospatial/ogcapi-features/pull/520))
13
17
- Updated examples for automatic collection creation from code and validation ([#1080](https://github.com/radiantearth/stac-spec/pull/1080)
14
18
- Clarified that stac_extensions should also list extensions that are used in Collection summaries. ([#1077](https://github.com/radiantearth/stac-spec/issues/1077))
19
+
- The Stats Object for Summaries has been renamed to Range Object (no functional change).
15
20
16
21
## [v1.0.0-rc.2] - 2021-03-30
17
22
@@ -46,7 +51,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
46
51
47
52
### Changed
48
53
49
-
- The [Stats Object](collection-spec/collection-spec.md#stats-object) for Collection `summaries` changed `min` to `minimum` and `max` to `maximum` to align with JSON Schema. ([#967](https://github.com/radiantearth/stac-spec/pull/967))
54
+
- The [Stats Object](collection-spec/collection-spec.md#range-object) for Collection `summaries` changed `min` to `minimum` and `max` to `maximum` to align with JSON Schema. ([#967](https://github.com/radiantearth/stac-spec/pull/967))
50
55
- URIs (usually found int properties like `href`, `url`) are now validated using the `iri-reference` format in JSON Schema (allows international characters in URIs) ([#953](https://github.com/radiantearth/stac-spec/pull/953))
51
56
- Enhanced the way the spec talks about ID's to encourage more global uniqueness. ([#883](https://github.com/radiantearth/stac-spec/pull/883))
52
57
- Clarified how collection-level asset object properties do not remove the need for item-level asset object properties in the `item-assets` extension ([#880](https://github.com/radiantearth/stac-spec/pull/880))
Copy file name to clipboardExpand all lines: catalog-spec/catalog-spec.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -49,7 +49,7 @@ also a valid STAC Catalog.
49
49
| id | string |**REQUIRED.** Identifier for the Catalog. |
50
50
| title | string | A short descriptive one-line title for the Catalog. |
51
51
| description | string |**REQUIRED.** Detailed multi-line description to fully explain the Catalog. [CommonMark 0.29](http://commonmark.org/) syntax MAY be used for rich text representation. |
52
-
| summaries | Map<string, \[*]\|[Stats Object](../collection-spec/collection-spec.md#stats-object)> | A map of property summaries, either a set of values or statistics such as a range. More info in the [Collection spec](../collection-spec/collection-spec.md#summaries). |
52
+
| summaries | Map<string, \[\*]\|[Range Object](../collection-spec/collection-spec.md#range-object)\|[JSON Schema Object](../collection-spec/collection-spec.md#json-schema-object)> | A map of property summaries, either a set of values, a range of values or a [JSON Schema](https://json-schema.org). More info in the [Collection spec](../collection-spec/collection-spec.md#summaries). |
53
53
| links |[[Link Object](#link-object)]|**REQUIRED.** A list of references to other documents. |
Copy file name to clipboardExpand all lines: catalog-spec/json-schema/catalog-core.json
+16-3Lines changed: 16 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -99,9 +99,22 @@
99
99
"summaries": {
100
100
"type": "object",
101
101
"additionalProperties": {
102
-
"oneOf": [
102
+
"anyOf": [
103
103
{
104
-
"title": "Stats",
104
+
"title": "JSON Schema",
105
+
"allOf": [
106
+
{
107
+
"$ref": "https://json-schema.org/draft-07/schema"
108
+
},
109
+
{
110
+
"not": {
111
+
"type": "boolean"
112
+
}
113
+
}
114
+
]
115
+
},
116
+
{
117
+
"title": "Range",
105
118
"type": "object",
106
119
"required": [
107
120
"minimum",
@@ -129,7 +142,7 @@
129
142
"type": "array",
130
143
"minItems": 1,
131
144
"items": {
132
-
"description": "Any data type could occur."
145
+
"description": "For each field only the original data type of the property can occur (except for arrays), but we can't validate that in JSON Schema yet. See the sumamry description in the STAC specification for details."
@@ -54,7 +55,7 @@ specified in [*OGC API - Features*](https://ogcapi.ogc.org/features/), but they
54
55
| license | string |**REQUIRED.** Collection's license(s), either a SPDX [License identifier](https://spdx.org/licenses/), `various` if multiple licenses apply or `proprietary` for all other cases. |
55
56
| providers |\[[Provider Object](#provider-object)]| A list of providers, which may include all organizations capturing or processing the data or the hosting provider. Providers should be listed in chronological order with the most recent provider being the last element of the list. |
56
57
| extent |[Extent Object](#extent-object)|**REQUIRED.** Spatial and temporal extents. |
57
-
| summaries | Map<string, \[*]\|[Stats Object](#stats-object)> | STRONGLY RECOMMENDED. A map of property summaries, either a set of values or statistics such as a range. |
58
+
| summaries | Map<string, \[\*]\|[Range Object](#range-object)\|[JSON Schema Object](#json-schema-object)> | STRONGLY RECOMMENDED. A map of property summaries, either a set of values, a range of values or a [JSON Schema](https://json-schema.org). |
58
59
| links |\[[Link Object](#link-object)]|**REQUIRED.** A list of references to other documents. |
59
60
| assets | Map<string, [Asset Object](#asset-object)> | Dictionary of asset objects that can be downloaded, each with a unique key. |
60
61
@@ -95,12 +96,12 @@ Summaries help to fully define Collections, especially if they don't link to any
95
96
build tailored user interfaces for querying the data, by presenting the potential values that are available.
96
97
Summaries should summarize all values in every Item underneath the collection, including in any nested sub-Catalogs.
97
98
98
-
A summary for a field can be specified in two ways:
99
+
A summary for a field can be specified in three ways:
99
100
100
101
1. A set of all distinct values in an array: The set of values must contain at least one element and it is strongly recommended to list all values.
101
102
If the field summarizes an array (e.g. [`instruments`](../item-spec/common-metadata.md#instrument)),
102
103
the field's array elements of each Item must be merged to a single array with unique elements.
103
-
2.Statistics in a [Stats Object](#stats-object): Statistics by default only specify the range (minimum and maximum values),
104
+
2.A Range in a [Range Object](#range-object): Statistics by default only specify the range (minimum and maximum values),
104
105
but can optionally be accompanied by additional statistical values.
105
106
The range specified by the `minimum` and `maximum` properties can specify the potential range of values,
106
107
but it is recommended to be as precise as possible.
@@ -281,9 +282,9 @@ or streamed. The definition provided here, at the Collection level, is the same
281
282
| type | string |[Media type](../item-spec/item-spec.md#asset-media-type) of the asset. See the [common media types](../best-practices.md#common-media-types-in-stac) in the best practice doc for commonly used asset types. |
282
283
| roles |\[string]| The [semantic roles](../item-spec/item-spec.md#asset-role-types) of the asset, similar to the use of `rel` in links. |
283
284
284
-
### Stats Object
285
+
### Range Object
285
286
286
-
For a good understanding of the summarized field, statistics can be added.
287
+
For summaries with a lot of continuous values, statistics can be added.
287
288
By default, only ranges with a minimum and a maximum value can be specified.
288
289
Ranges can be specified for [ordinal](https://en.wikipedia.org/wiki/Level_of_measurement#Ordinal_scale) values only,
289
290
which means they need to have a rank order.
@@ -295,6 +296,14 @@ Implementors are free to add other derived statistical values to the object, for
0 commit comments