Skip to content

Commit a8283ab

Browse files
authored
Merge pull request #134 from stac-utils/failed-schema-msg
- radiantearth/stac-spec#1242 - #133 Added - Added display of failed schema information in the validation output - Added recommendation messages to guide users when validation fails - Added disclaimer about schema-based STAC validation being an initial indicator of validity only Changed - Updated validation output to show "Passed" instead of "Valid" for accuracy
2 parents e3a867b + 722bb6d commit a8283ab

File tree

10 files changed

+919
-69
lines changed

10 files changed

+919
-69
lines changed

CHANGELOG.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,18 @@ The format is (loosely) based on [Keep a Changelog](http://keepachangelog.com/)
66

77
## Unreleased
88

9+
## [v1.9.1] - 2025-06-16
10+
11+
### Added
12+
13+
- Added display of failed schema information in the validation output ([#134](https://github.com/stac-utils/stac-check/pull/134))
14+
- Added recommendation messages to guide users when validation fails ([#134](https://github.com/stac-utils/stac-check/pull/134))
15+
- Added disclaimer about schema-based STAC validation being an initial indicator of validity only ([#134](https://github.com/stac-utils/stac-check/pull/134))
16+
17+
### Changed
18+
19+
- Updated validation output to show "Passed" instead of "Valid" for accuracy ([#134](https://github.com/stac-utils/stac-check/pull/134))
20+
921

1022
## [v1.9.0] - 2025-06-13
1123

@@ -252,7 +264,8 @@ The format is (loosely) based on [Keep a Changelog](http://keepachangelog.com/)
252264
- Validation from stac-validator 2.3.0
253265
- Links and assets validation checks
254266

255-
[Unreleased]: https://github.com/stac-utils/stac-check/compare/v1.9.0...main
267+
[Unreleased]: https://github.com/stac-utils/stac-check/compare/v1.9.1...main
268+
[v1.9.1]: https://github.com/stac-utils/stac-check/compare/v1.9.0...v1.9.1
256269
[v1.9.0]: https://github.com/stac-utils/stac-check/compare/v1.8.0...v1.9.0
257270
[v1.8.0]: https://github.com/stac-utils/stac-check/compare/v1.7.0...v1.8.0
258271
[v1.7.0]: https://github.com/stac-utils/stac-check/compare/v1.6.0...v1.7.0

sample_files/1.1.0/collection.json

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
{
2+
"id": "simple-collection",
3+
"type": "Collection",
4+
"stac_extensions": [
5+
"https://stac-extensions.github.io/eo/v2.0.0/schema.json",
6+
"https://stac-extensions.github.io/projection/v2.0.0/schema.json",
7+
"https://stac-extensions.github.io/view/v1.0.0/schema.json"
8+
],
9+
"stac_version": "1.1.0",
10+
"description": "A simple collection demonstrating core catalog fields with links to a couple of items",
11+
"title": "Simple Example Collection",
12+
"keywords": ["simple", "example", "collection"],
13+
"providers": [
14+
{
15+
"name": "Remote Data, Inc",
16+
"description": "Producers of awesome spatiotemporal assets",
17+
"roles": ["producer", "processor"],
18+
"url": "http://remotedata.io"
19+
}
20+
],
21+
"extent": {
22+
"spatial": {
23+
"bbox": [
24+
[
25+
172.91173669923782, 1.3438851951615003, 172.95469614953714,
26+
1.3690476620161975
27+
]
28+
]
29+
},
30+
"temporal": {
31+
"interval": [["2020-12-11T22:38:32.125Z", "2020-12-14T18:02:31.437Z"]]
32+
}
33+
},
34+
"license": "CC-BY-4.0",
35+
"summaries": {
36+
"platform": ["cool_sat1", "cool_sat2"],
37+
"constellation": ["ion"],
38+
"instruments": ["cool_sensor_v1", "cool_sensor_v2"],
39+
"gsd": {
40+
"minimum": 0.512,
41+
"maximum": 0.66
42+
},
43+
"eo:cloud_cover": {
44+
"minimum": 1.2,
45+
"maximum": 1.2
46+
},
47+
"proj:cpde": ["EPSG:32659"],
48+
"view:sun_elevation": {
49+
"minimum": 54.9,
50+
"maximum": 54.9
51+
},
52+
"view:off_nadir": {
53+
"minimum": 3.8,
54+
"maximum": 3.8
55+
},
56+
"view:sun_azimuth": {
57+
"minimum": 135.7,
58+
"maximum": 135.7
59+
},
60+
"statistics": {
61+
"type": "object",
62+
"properties": {
63+
"vegetation": {
64+
"description": "Percentage of pixels that are detected as vegetation, e.g. forests, grasslands, etc.",
65+
"minimum": 0,
66+
"maximum": 100
67+
},
68+
"water": {
69+
"description": "Percentage of pixels that are detected as water, e.g. rivers, oceans and ponds.",
70+
"minimum": 0,
71+
"maximum": 100
72+
},
73+
"urban": {
74+
"description": "Percentage of pixels that detected as urban, e.g. roads and buildings.",
75+
"minimum": 0,
76+
"maximum": 100
77+
}
78+
}
79+
}
80+
},
81+
"links": [
82+
{
83+
"rel": "root",
84+
"href": "./collection.json",
85+
"type": "application/json",
86+
"title": "Simple Example Collection"
87+
},
88+
{
89+
"rel": "item",
90+
"href": "./simple-item.json",
91+
"type": "application/geo+json",
92+
"title": "Simple Item"
93+
},
94+
{
95+
"rel": "item",
96+
"href": "./core-item.json",
97+
"type": "application/geo+json",
98+
"title": "Core Item"
99+
},
100+
{
101+
"rel": "item",
102+
"href": "./extended-item.json",
103+
"type": "application/geo+json",
104+
"title": "Extended Item"
105+
},
106+
{
107+
"rel": "self",
108+
"href": "https://raw.githubusercontent.com/radiantearth/stac-spec/v1.1.0/examples/collection.json",
109+
"type": "application/json"
110+
}
111+
]
112+
}
Lines changed: 210 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,210 @@
1+
{
2+
"stac_version": "1.1.0",
3+
"stac_extensions": [
4+
"https://stac-extensions.github.io/eo/v2.0.0/schema.json",
5+
"https://stac-extensions.github.io/projection/v2.0.0/schema.json",
6+
"https://stac-extensions.github.io/scientific/v1.0.0/schema.json",
7+
"https://stac-extensions.github.io/view/v1.0.0/schema.json",
8+
"https://stac-extensions.github.io/remote-data/v1.0.0/schema.json"
9+
],
10+
"type": "Feature",
11+
"id": "20201211_223832_CS2",
12+
"bbox": [
13+
172.91173669923782,
14+
1.3438851951615003,
15+
172.95469614953714,
16+
1.3690476620161975
17+
],
18+
"geometry": {
19+
"type": "Polygon",
20+
"coordinates": [
21+
[
22+
[
23+
172.91173669923782,
24+
1.3438851951615003
25+
],
26+
[
27+
172.95469614953714,
28+
1.3438851951615003
29+
],
30+
[
31+
172.95469614953714,
32+
1.3690476620161975
33+
],
34+
[
35+
172.91173669923782,
36+
1.3690476620161975
37+
],
38+
[
39+
172.91173669923782,
40+
1.3438851951615003
41+
]
42+
]
43+
]
44+
},
45+
"properties": {
46+
"title": "Extended Item",
47+
"description": "A sample STAC Item that includes a variety of examples from the stable extensions",
48+
"keywords": [
49+
"extended",
50+
"example",
51+
"item"
52+
],
53+
"datetime": "2020-12-14T18:02:31.437000Z",
54+
"created": "2020-12-15T01:48:13.725Z",
55+
"updated": "2020-12-15T01:48:13.725Z",
56+
"platform": "cool_sat2",
57+
"instruments": [
58+
"cool_sensor_v2"
59+
],
60+
"gsd": 0.66,
61+
"eo:cloud_cover": 1.2,
62+
"eo:snow_cover": 0,
63+
"statistics": {
64+
"vegetation": 12.57,
65+
"water": 1.23,
66+
"urban": 26.2
67+
},
68+
"proj:code": "EPSG:32659",
69+
"proj:shape": [
70+
5558,
71+
9559
72+
],
73+
"proj:transform": [
74+
0.5,
75+
0,
76+
712710,
77+
0,
78+
-0.5,
79+
151406,
80+
0,
81+
0,
82+
1
83+
],
84+
"view:sun_elevation": 54.9,
85+
"view:off_nadir": 3.8,
86+
"view:sun_azimuth": 135.7,
87+
"rd:type": "scene",
88+
"rd:anomalous_pixels": 0.14,
89+
"rd:earth_sun_distance": 1.014156,
90+
"rd:sat_id": "cool_sat2",
91+
"rd:product_level": "LV3A",
92+
"sci:doi": "10.5061/dryad.s2v81.2/27.2"
93+
},
94+
"collection": "simple-collection",
95+
"links": [
96+
{
97+
"rel": "collection",
98+
"href": "./collection.json",
99+
"type": "application/json",
100+
"title": "Simple Example Collection"
101+
},
102+
{
103+
"rel": "root",
104+
"href": "./collection.json",
105+
"type": "application/json",
106+
"title": "Simple Example Collection"
107+
},
108+
{
109+
"rel": "parent",
110+
"href": "./collection.json",
111+
"type": "application/json",
112+
"title": "Simple Example Collection"
113+
},
114+
{
115+
"rel": "alternate",
116+
"type": "text/html",
117+
"href": "http://remotedata.io/catalog/20201211_223832_CS2/index.html",
118+
"title": "HTML version of this STAC Item"
119+
}
120+
],
121+
"assets": {
122+
"analytic": {
123+
"href": "https://storage.googleapis.com/open-cogs/stac-examples/20201211_223832_CS2_analytic.tif",
124+
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
125+
"title": "4-Band Analytic",
126+
"roles": [
127+
"data"
128+
],
129+
"bands": [
130+
{
131+
"name": "band1",
132+
"eo:common_name": "blue",
133+
"eo:center_wavelength": 0.47,
134+
"eo:full_width_half_max": 70
135+
},
136+
{
137+
"name": "band2",
138+
"eo:common_name": "green",
139+
"eo:center_wavelength": 0.56,
140+
"eo:full_width_half_max": 80
141+
},
142+
{
143+
"name": "band3",
144+
"eo:common_name": "red",
145+
"eo:center_wavelength": 0.645,
146+
"eo:full_width_half_max": 90
147+
},
148+
{
149+
"name": "band4",
150+
"eo:common_name": "nir",
151+
"eo:center_wavelength": 0.8,
152+
"eo:full_width_half_max": 152
153+
}
154+
]
155+
},
156+
"thumbnail": {
157+
"href": "https://storage.googleapis.com/open-cogs/stac-examples/20201211_223832_CS2.jpg",
158+
"title": "Thumbnail",
159+
"type": "image/png",
160+
"roles": [
161+
"thumbnail"
162+
]
163+
},
164+
"visual": {
165+
"href": "https://storage.googleapis.com/open-cogs/stac-examples/20201211_223832_CS2.tif",
166+
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
167+
"title": "3-Band Visual",
168+
"roles": [
169+
"visual"
170+
],
171+
"bands": [
172+
{
173+
"name": "band3",
174+
"eo:common_name": "red",
175+
"eo:center_wavelength": 0.645,
176+
"eo:full_width_half_max": 90
177+
},
178+
{
179+
"name": "band2",
180+
"eo:common_name": "green",
181+
"eo:center_wavelength": 0.56,
182+
"eo:full_width_half_max": 80
183+
},
184+
{
185+
"name": "band1",
186+
"eo:common_name": "blue",
187+
"eo:center_wavelength": 0.47,
188+
"eo:full_width_half_max": 70
189+
}
190+
]
191+
},
192+
"udm": {
193+
"href": "https://storage.googleapis.com/open-cogs/stac-examples/20201211_223832_CS2_analytic_udm.tif",
194+
"title": "Unusable Data Mask",
195+
"type": "image/tiff; application=geotiff"
196+
},
197+
"json-metadata": {
198+
"href": "http://remotedata.io/catalog/20201211_223832_CS2/extended-metadata.json",
199+
"title": "Extended Metadata",
200+
"type": "application/json",
201+
"roles": [
202+
"metadata"
203+
]
204+
},
205+
"ephemeris": {
206+
"href": "http://cool-sat.com/catalog/20201211_223832_CS2/20201211_223832_CS2.EPH",
207+
"title": "Satellite Ephemeris Metadata"
208+
}
209+
}
210+
}

0 commit comments

Comments
 (0)