Skip to content

Commit 4ecbabc

Browse files
Merge pull request #1128 from radiantearth/dev
Release v1.0.0-rc.4
2 parents f81324f + 7363844 commit 4ecbabc

24 files changed

+289
-233
lines changed

CHANGELOG.md

+19
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,24 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
77

88
## [Unreleased]
99

10+
## [v1.0.0-rc.4] - 2021-05-11
11+
12+
### Changed
13+
14+
- An empty Catalog is now allowed, removed the requirement that it must have a child or item link. ([#1115](https://github.com/radiantearth/stac-spec/issues/1115))
15+
- An open date range to both sides is now allowed in the Collection's temporal extents. ([#1125](https://github.com/radiantearth/stac-spec/issues/1125))
16+
- Catalog and Collection JSON Schemas don't have a common JSON Schema any more. ([#1122](https://github.com/radiantearth/stac-spec/pull/1122))
17+
18+
### Removed
19+
20+
- Catalogs don't support summaries any more. ([#1122](https://github.com/radiantearth/stac-spec/pull/1122))
21+
22+
### Fixed
23+
24+
- Added clarification around when an extension should be included in `stac_extensions`. ([#1123](https://github.com/radiantearth/stac-spec/pull/1123))
25+
- JSON Schemas don't allow "shortcuts" for core extensions any longer. ([#1121](https://github.com/radiantearth/stac-spec/pull/1121))
26+
- Various examples fixes.
27+
1028
## [v1.0.0-rc.3] - 2021-04-29
1129

1230
### Added
@@ -423,6 +441,7 @@ See the [milestone 0.4.0 in the issue tracker](https://github.com/radiantearth/s
423441
Thanks @hgs-msmith, @matthewhanson, @hgs-trutherford, @rouault, @joshfix, @alkamin, @hemphillda, @jeffnaus and @fredliporace for contributing to the spec directly, and to [everyone](https://github.com/opengeospatial/wfs3hackathon/blob/master/notes/introductions.md#participants) who participated in the [Ft Collins sprint](https://github.com/radiantearth/community-sprints/tree/master/03072018-ft-collins-co) and brought great ideas.
424442

425443
[Unreleased]: <https://github.com/radiantearth/stac-spec/compare/master...dev>
444+
[v1.0.0-rc.4]: <https://github.com/radiantearth/stac-spec/compare/v1.0.0-rc.3..v1.0.0-rc.4>
426445
[v1.0.0-rc.3]: <https://github.com/radiantearth/stac-spec/compare/v1.0.0-rc.2..v1.0.0-rc.3>
427446
[v1.0.0-rc.2]: <https://github.com/radiantearth/stac-spec/compare/v1.0.0-rc.1..v1.0.0-rc.2>
428447
[v1.0.0-rc.1]: <https://github.com/radiantearth/stac-spec/compare/v1.0.0-beta.2..v1.0.0-rc.1>

catalog-spec/catalog-spec.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ values for `type` and `stac_extensions`.
5050
| id | string | **REQUIRED.** Identifier for the Catalog. |
5151
| title | string | A short descriptive one-line title for the Catalog. |
5252
| 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. |
53-
| 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). |
5453
| links | [[Link Object](#link-object)] | **REQUIRED.** A list of references to other documents. |
5554

5655
### Additional Field Information
@@ -94,7 +93,8 @@ The following types are commonly used as `rel` types in the Link Object of a STA
9493
| child | URL to a child STAC entity (Catalog or Collection). |
9594
| item | URL to a STAC Item. |
9695

97-
**Note:** A link to at least one `item` or `child` (Catalog or Collection) is **REQUIRED**.
96+
**Note:** A link to at least one `item` or `child` (Catalog or Collection) is **RECOMMENDED**, but empty catalogs are
97+
allowed if there is an intent to populate it or its children were removed.
9898

9999
There are additional `rel` types in the [Using Relation Types](../best-practices.md#using-relation-types) best practice, but as
100100
they are more typically used in Collections, as Catalogs tend to just be used to structure STAC organization, so tend to just use

catalog-spec/json-schema/catalog-core.json

-149
This file was deleted.

catalog-spec/json-schema/catalog.json

+66-17
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,94 @@
11
{
22
"$schema": "http://json-schema.org/draft-07/schema#",
3-
"$id": "https://schemas.stacspec.org/v1.0.0-rc.3/catalog-spec/json-schema/catalog.json#",
3+
"$id": "https://schemas.stacspec.org/v1.0.0-rc.4/catalog-spec/json-schema/catalog.json#",
44
"title": "STAC Catalog Specification",
55
"description": "This object represents Catalogs in a SpatioTemporal Asset Catalog.",
66
"allOf": [
7-
{
8-
"$ref": "catalog-core.json"
9-
},
107
{
118
"$ref": "#/definitions/catalog"
129
}
1310
],
1411
"definitions": {
1512
"catalog": {
16-
"title": "Catalog",
13+
"title": "STAC Catalog",
1714
"type": "object",
1815
"required": [
19-
"type"
16+
"stac_version",
17+
"type",
18+
"id",
19+
"description",
20+
"links"
2021
],
2122
"properties": {
23+
"stac_version": {
24+
"title": "STAC version",
25+
"type": "string",
26+
"const": "1.0.0-rc.4"
27+
},
28+
"stac_extensions": {
29+
"title": "STAC extensions",
30+
"type": "array",
31+
"uniqueItems": true,
32+
"items": {
33+
"title": "Reference to a JSON Schema",
34+
"type": "string",
35+
"format": "iri"
36+
}
37+
},
2238
"type": {
2339
"title": "Type of STAC entity",
2440
"const": "Catalog"
2541
},
42+
"id": {
43+
"title": "Identifier",
44+
"type": "string",
45+
"minLength": 1
46+
},
47+
"title": {
48+
"title": "Title",
49+
"type": "string"
50+
},
51+
"description": {
52+
"title": "Description",
53+
"type": "string",
54+
"minLength": 1
55+
},
2656
"links": {
2757
"title": "Links",
2858
"type": "array",
29-
"contains": {
30-
"description": "A link to at least one `item` or `child` is REQUIRED in Catalogs.",
31-
"type": "object",
32-
"properties": {
33-
"rel": {
34-
"enum": [
35-
"child",
36-
"item"
37-
]
38-
}
39-
}
59+
"items": {
60+
"$ref": "#/definitions/link"
4061
}
4162
}
4263
}
64+
},
65+
"link": {
66+
"type": "object",
67+
"required": [
68+
"rel",
69+
"href"
70+
],
71+
"properties": {
72+
"href": {
73+
"title": "Link reference",
74+
"type": "string",
75+
"format": "iri-reference",
76+
"minLength": 1
77+
},
78+
"rel": {
79+
"title": "Link relation type",
80+
"type": "string",
81+
"minLength": 1
82+
},
83+
"type": {
84+
"title": "Link type",
85+
"type": "string"
86+
},
87+
"title": {
88+
"title": "Link title",
89+
"type": "string"
90+
}
91+
}
4392
}
4493
}
4594
}

collection-spec/collection-spec.md

+9-4
Original file line numberDiff line numberDiff line change
@@ -202,12 +202,17 @@ Clients only interested in the overall extent will only need to access the first
202202
It is recommended to only use multiple temporal extents if a union of them would then include a large
203203
uncovered time span (e.g. only having data for the years 2000, 2010 and 2020).
204204

205-
Each inner array consists of exactly two dates and times, each in UTC.
206-
Each date and time MUST be formatted according to [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6).
205+
Each inner array consists of exactly two elements, either a timestamp or `null`.
206+
207+
Timestamps consist of a date and time in UTC and MUST be formatted according to
208+
[RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6).
207209
The temporal reference system is the Gregorian calendar.
208210

209-
Open date ranges are supported by setting either the start or the end time to `null`.
210-
Example for data from the beginning of 2019 until now: `[["2009-01-01T00:00:00Z", null]]`.
211+
Open date ranges are supported by setting the start and/or the end time to `null`.
212+
Example for data from the beginning of 2019 until now: `[["2019-01-01T00:00:00Z", null]]`.
213+
It is recommended to provide at least a rough guideline on the temporal extent and thus
214+
it's not recommended to set both start and end time to `null`. Nevertheless, this is possible
215+
if there's a strong use case for an open date range to both sides.
211216

212217
### Provider Object
213218

0 commit comments

Comments
 (0)