Skip to content

Commit 6829a6f

Browse files
authored
Merge pull request #11 from stac-extensions/updates
Updated to recent discussions
2 parents 80301d7 + 401c985 commit 6829a6f

File tree

3 files changed

+85
-19
lines changed

3 files changed

+85
-19
lines changed

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
88

99
## [1.0.0]
1010

11+
### Added
12+
13+
- `osc:experiment` for products
14+
- `osc:workflows` for projects
15+
- Definitions for workflows and experiments
16+
- Describe relation to OGC API - Records
17+
- Describe applicable relation types
18+
19+
### Changed
20+
21+
- Clarified which fields apply for which type
22+
- `osc:region` is not used for projects any longer
23+
1124
### Removed
1225

1326
- `osc:name`

README.md

Lines changed: 62 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,14 @@ An physical variable observed by a science product, such as "Wind stress" or "Ge
5050

5151
A set of satellite missions which provided input for the product.
5252

53+
### Workflow
54+
55+
A definition of processing steps defined in a project that can be executed in an experiment to generate a product.
56+
57+
### Experiment
58+
59+
A specific execution of a workflow that generated a product.
60+
5361
## Fields
5462

5563
The fields in the table below can be used in these parts of STAC documents:
@@ -64,29 +72,39 @@ The fields in the table below can be used in these parts of STAC documents:
6472
be added to the summaries as the same fields already exist in the collection as top-level properties anyway.
6573
As such the extension does not validate Collection summaries.
6674

67-
| Field Name | Type | Description |
68-
| ------------- | --------- | ----------- |
69-
| osc:type | string | **REQUIRED.** The underlying type of this resource. Either `"project"` or `"product"`. This field then defines what other fields are allowed and required. |
70-
| osc:status | string | **REQUIRED.** This field details whether the project or product is `planned`, `ongoing`, or has been `completed`. |
71-
| osc:project | string | **REQUIRED (for products).** The name of the project the product is associated with. |
72-
| osc:region | string | The name of the geographic region the project or product is dealing with if any, e.g `"Arctic"` or `"Agulhas"`. |
73-
| osc:variables | \[string] | The names of the variables the product is observing, e.g `"Wind stress"` or `"Geomagnetic field"`. |
74-
| osc:missions | \[string] | The names of the satellite missions which provided input for this project or product. |
75+
### Projects and Products
7576

76-
Fields that apply when the `osc:type` is set to `product`:
77+
| Field Name | Type | Description |
78+
| -------------- | --------- | ----------- |
79+
| osc:type | string | **REQUIRED.** The underlying type of this resource. Either `"project"` or `"product"`. This field then defines what other fields are allowed and required. |
80+
| osc:status | string | **REQUIRED.** This field details whether the project or product is `planned`, `ongoing`, or has been `completed`. |
81+
82+
Additionally, the following fields from other extensions apply:
7783

78-
- osc:status - **REQUIRED**
79-
- osc:project - **REQUIRED**
80-
- osc:region
81-
- osc:variables
82-
- osc:missions
8384
- [themes](#themes)
8485

86+
### Products only
87+
88+
Fields that apply when the `osc:type` is set to `product`:
89+
90+
| Field Name | Type | Description |
91+
| -------------- | --------- | ----------- |
92+
| osc:project | string | **REQUIRED.** The name of the project the product is associated with. |
93+
| osc:region | string | The name of the geographic region the project or product is dealing with if any, e.g `"Arctic"` or `"Agulhas"`. |
94+
| osc:variables | \[string] | The names of the variables the product is observing, e.g `"Wind stress"` or `"Geomagnetic field"`. |
95+
| osc:missions | \[string] | The names of the satellite missions which provided input for this product. |
96+
| osc:experiment | string | The name of the experiment that created the product. |
97+
98+
### Projects only
99+
85100
Fields that apply when the `osc:type` is set to `project`:
86101

87-
- osc:status - **REQUIRED**
88-
- osc:region
89-
- [themes](#themes)
102+
| Field Name | Type | Description |
103+
| -------------- | --------- | ----------- |
104+
| osc:workflows | \[string] | The names of the workflows created by the project. |
105+
106+
Additionally, the following fields from other extensions apply:
107+
90108
- [contacts](#contacts)
91109

92110
### Contacts
@@ -113,6 +131,33 @@ The following fields should be implemented from the [Themes extension](https://g
113131
The themes field can contain concepts from different controlled vocabularies (via `scheme`).
114132
By default this extension only asks to add concepts for the scheme `https://github.com/stac-extensions/osc#theme`.
115133

134+
## Relation types
135+
136+
The following types should be used as applicable `rel` types in the
137+
[Link Object](https://github.com/radiantearth/stac-spec/tree/master/item-spec/item-spec.md#link-object).
138+
139+
| Type | Description |
140+
| ----------- | ------------------------------------- |
141+
| related | Links to resources that are identified in the osc: fields, e.g. a link to the project as identified in the `osc:project` field. |
142+
| environment | Links to a file that identifies the execution environment of an experiment (applicable mostly to OGC API - Records) |
143+
| input | Links to a file that identifies any input parameters of an experiment (applicable mostly to OGC API - Records) |
144+
145+
## OGC API - Records
146+
147+
Although this extension is a STAC extension, similar fields with the same `osc:` prefix
148+
are also used in OGC API - Records that describe workflows and experiments.
149+
150+
The following fields occur in workflows:
151+
152+
- `osc:project` (string, required)
153+
- `osc:experiments` (\[string])
154+
155+
The following fields occur in experiments:
156+
157+
- `osc:project` (string, required)
158+
- `osc:workflow` (string, required)
159+
- `osc:product` (string, required)
160+
116161
## Contributing
117162

118163
All contributions are subject to the

json-schema/schema.json

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,12 @@
7878
"osc:status": {
7979
"$ref": "#/definitions/status"
8080
},
81-
"osc:region": {
82-
"$ref": "#/definitions/region"
81+
"osc:workflows": {
82+
"type": "array",
83+
"items": {
84+
"type": "string",
85+
"minLength": 1
86+
}
8387
}
8488
},
8589
"patternProperties": {
@@ -113,6 +117,10 @@
113117
},
114118
"osc:missions": {
115119
"$ref": "#/definitions/missions"
120+
},
121+
"osc:experiment": {
122+
"type": "string",
123+
"minLength": 1
116124
}
117125
},
118126
"patternProperties": {

0 commit comments

Comments
 (0)