Replies: 5 comments 16 replies
-
This is great. The first thing that comes to mind in reviewing your ranking components, beyond generally agreeing with what you propose, is a vague idea that it might also be good to have a way to measure how well items are "covered" by the core spec and extensions. Said differently, how much of the content of an item is not part of core STAC or an extension? It seems like this is some value that could be measured and might provide some insight into usability/quality of that additional metadata. Or maybe such a measure is not actually reflective of any level of quality. I don't know. Just an idea I figured I'd throw out there. |
Beta Was this translation helpful? Give feedback.
-
How about some kind of availability score. I'm not sure what the test would look like (maybe a stac-api-validator thing?) but a way to evaluate the reliability and availability of an API would be useful. Something like |
Beta Was this translation helpful? Give feedback.
-
The primary benefit from such a rating would, IMO, be to clearly define best practice and create an incentive to follow it. Whether it is also helpful for discovery? 🤷 |
Beta Was this translation helpful? Give feedback.
-
I agree that (detailed) ratings would provide an incentive for following best practices, particularly if there were a rating checking tool that STAC metadata developers could easily run while populating their metadata. I would lean toward listing "All the things" developers should consider, even if only some off the checks are implemented and contribute to the rating. More could be implemented over time, if feasible. |
Beta Was this translation helpful? Give feedback.
-
Well, it could be easier to maintain if I'd have more time to actually build a management UI and a crawler for it. I'm just overwhelmed with work and then everything is a pain in the butt :-D
Generally a good idea, it just is always misleading that "valid" entities are still invalid because we can't check everything properly in the schemas.
Is this only links or also assets? What does that mean more specifically? If you use the auth extension and something returns e.g. a 401/403 for example, is it really okay to "downgrade"? Also, sometimes you link to external sources and if these are "out of my control" offline temporarily my STAC gets a worse grade?
"(if applicable)" - actually, I'd downgrade STAC entities that have no spatial information (I assume that's what you meant here?)
Not really validity, but making sure some extension are available would also help. Like raster, eo, etc. But it's hard to judge in which cases those are actually applicable. Raster for vector data doesn't make a lot of sense, EO for SAR neither.
What are the main conformance classes?
What files formats are cloud-native in your checks? I assume: COG, COPC, ZARR (what's the
Well, but then it's their fault and it's worth downgrading it. So I'd actually think checking the type field and making it medium prio is fine. (On the other hand: uncertainties for media types, see above.)
I don't like this idea, honestly. I've seen people manipulating things in STAC entites, would be equal to just put rating = 5 stars manually although it might be 1 star. Some more ideas for criteria:
|
Beta Was this translation helpful? Give feedback.
-
Introduction
During a recent STAC Community Meetup, @tylere asked (I'm paraphrasing here):
https://stacindex.org/ is an excellent general-purpose warehouse for STAC resources, but it suffers from a couple of problems:
I think there's a space in the STAC ecosystem for a STAC API-and-Catalog discovery tool with the following characteristics:
Bullets one and three are simple design decisions, but the second one (ratings ⭐) is something I think is worth building a consensus around with the community.
Existing art
is_valid
) it doesn't on its own provide the granularity needed to build a five star rating system for a given STAC API or catalog.A proposed STAC rating ⭐ system
Listed below are the components of my proposed rating system. Each component would have one or more "checks", and each "check" could have a weight to describe its relative importance (implementation dependent).
type
field. That's why I rank this one low, because a lot of folks don't set thetype
field correctly.Extension
Ratings could be an extension!
5 * rating:score / rating:total
.Check object
Relation types
We should probably pick a relation type to link to a "rating report" or rating tooling page so folks know where the rating values came from.
Notes
What do you think? Would a rating system like this be useful to you at all? What other components should be included in a rating system?
Update 2024-11-19
I've got a first-gen command-line interface (CLI) for ratings here: https://pypi.org/project/heystac/
Beta Was this translation helpful? Give feedback.
All reactions