-
Notifications
You must be signed in to change notification settings - Fork 183
Multi platforms #1349
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
base: dev
Are you sure you want to change the base?
Multi platforms #1349
Conversation
This is intenional. The intention is that in this case, you'd not provide a platform (as it's a derived product) and point back to the source STAC files so that you can get the information from there. With the same reason you could allow arrays for pretty much any field, which makes the whole metadata model very weak. So -1 on this one. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds sensible to me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I'm 👎🏼 on union types for core attributes like this because it makes more work for implementers to handle both cases.
That being said, I always felt as through it was relatively arbitrary that instruments
was a list but platform
wasn't. This feels like a very satellite-specific detail leaking into the core specification. To me all of those values (platform
, instruments
, constellation
, and mission
) feel better suited to an extension.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be helpful to know more about the proposed use for this change. Is the idea that this would be useful for STAC items that are higher level composites from multiple platforms? Update: I read the linked issue.
I tend to agree with @gadomski that these fields are all very satellite specific and should maybe be added to https://github.com/stac-extensions/sat.
Thanks all for the comments. I agree with @gadomski I was a bit surprised to find these fields in the core and agree they would be better suited to an extension. Also agree with the distinction between Instruments and Platforms being a bit arbitrary. The reason I chose union of |
Actually, the fields were initially in the sat extension, but at some point it was decided that they seem pretty stable and core so they were moved over to common metadata just before 1.0, I think. I'm not 100% anymore what the reasons were to move them, but I don't think it's a good idea to move them to sat again because it bereaks a lot of implementations (it would get the Whether they are in sat or here doesn't really solve the issue though. @rhysrevans3 What do you think about omitting the platform property and insted pointing back to the source metadata where the platform is listed? Alternatively, there would also be a way to use platform in assets if it's an asset specific field. Platform can also be used in collections if that helps. Just thinking out loud about some ideas that could help you without breaking the specification. Even if we'd merge this, this would likely only be available in STAC 2.0 which is a long way ahead so would not be a quick solution for you anyway. |
From the changelog it looks like it was added to common because it was in multiple extensions Agree moving to an extension doesn't solve this problem. I've created a separate issue for that as I think it's worth discussion even if it is for v2.0 #1350 The reason for my reluctance in just excluding the platform property is how it effects search. Those records wouldn't be returned when a user searches for a specific platform. Including it in the assets might work but I don't think any asset fields are include in search at least not currently for the Elasticsearch backed API. Our current work around is just to use a |
What kind of product would this be for? If I search for Sentinel-2 and there's a product that's a fusion of Sentinel-2 and Sentinel-1, I think I wouldn't want that fused product in the search results... Thus omitting that platform makes sense to me. It's a new product, not an acqusition of the platform. But that's probably just one of many examples. |
I believe this is for level 4 above ground biomass data. I'm just a developer though so an not an expert on the data but can forward any questions to one of our data scientists if you have any. For my education is just convention that a product is per platform or is there a deeper reason? To someone who doesn't work with this data it seems the same logic could be used to say if I search for a specific instrument I don't want products with more than multiple instruments in them? |
The reasoning back in the days was (as far as I remember) that a platform could have multiple instruments so that's why instruments is an array. If you have data that originates from mutliple platforms, you usually have some source data (i.e.lower levels than L4) which you could point to. Otherwise, you try to keep items and collections as homogeneous as possible, I think. |
Related Issue(s): #1348
Proposed Changes:
Platform
type to allow string or array of strings.PR Checklist:
or a CHANGELOG entry is not required.
and I have opened issue/PR #XXX to track the change.