Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Specify mechanism for non-spatial data to be referenced in Catalogs #367

Closed
cholmes opened this issue Dec 28, 2018 · 4 comments
Closed

Specify mechanism for non-spatial data to be referenced in Catalogs #367

cholmes opened this issue Dec 28, 2018 · 4 comments

Comments

@cholmes
Copy link
Contributor

cholmes commented Dec 28, 2018

So I firmly believe that a compliant STAC Catalog should consist of SpatioTemporal Items, as tooling should be able to expect that all data in the catalog would have space in time.

But there are a growing number of people who like the STAC concept a lot, but not all their data is spatial and temporal.

In line with our philosophy of being easy to extend (put your own properties into a STAC Item), I think we should say that a compliant STAC catalog can include links to non-STAC 'stuff'. A validator should validate that all the STAC specified links in the catalog (item, child, root, etc) are valid, but should ignore (and not fail) on other link types. Perhaps a validator could run in a mode that verifies that everything linked to is STAC compliant.

But I think we should support 'mixed catalogs', that have some STAC Items, and some other 'item type json' that people can use as they want. Eventually, there might be a 'meta-spec' that specifies more generic asset catalogs that aren't spatiotemporal.

If people agree with this we should add a bit of language explaining in the Catalog spec that people can use other link types. I think I'd reserve the rel 'item' to mean a STAC item, but someone could do a link with rel = 'special_item' for their own stuff.

See #366 for some more discussion.

@cholmes cholmes added this to the 0.7.0 milestone Dec 28, 2018
@cholmes cholmes changed the title Specify mechanism for non-spatial data to be included in Catalogs Specify mechanism for non-spatial data to be referenced in Catalogs Dec 28, 2018
@m-mohr
Copy link
Collaborator

m-mohr commented Dec 30, 2018

Non-STAC Items could still use the rel-type item, but are required to specify another (media) type. We basically imply it is application/geo+json by default if not set. So if anybody else wants to specify something different: Go ahead, just don't use the GeoJSON media type. Validators should anyway not try to validate items if the type is not set to application/geo+json (or is empty), because it is suspicious. ;-) I doubt the implementations do check this, but I think they should.

If we really want to specify a JSON structure for non-Geo/Time items then it should basically be just id, properties, links and assests as specified in the Item spec. The type would be just application/json and then you can put whatever you like (and extensions specify) in the properties.

IMHO that's not much work, is easy to specify, seems flexible enough and just fits perfectly into our current specification. Other thoughts?

@cholmes
Copy link
Contributor Author

cholmes commented Dec 30, 2018 via email

@cholmes cholmes modified the milestones: 0.7.0, 0.8.0 Apr 22, 2019
@cholmes
Copy link
Contributor Author

cholmes commented Apr 22, 2019

Discussed on the call on April 22, agreed that more thought and input is needed.

Ideally those who have this use case sound in. And even more ideally we have a sample catalog with non-spatial data that we can look at.

cc @hgs-msmith

@m-mohr m-mohr added the assets label Jul 22, 2019
@cholmes cholmes modified the milestones: 0.8.0, 0.9.0 Aug 18, 2019
@cholmes
Copy link
Contributor Author

cholmes commented Aug 18, 2019

Closing this, can re-open when we have an example catalog to look at, and decide what changes we need to the core spec to enable good validation while allowing these non-spatial mixed catalogs.

@cholmes cholmes closed this as completed Aug 18, 2019
@m-mohr m-mohr reopened this Jun 10, 2020
@m-mohr m-mohr closed this as completed Jun 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants