-
Notifications
You must be signed in to change notification settings - Fork 178
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
Bands RFC #1213 #1254
Bands RFC #1213 #1254
Conversation
a1f038f
to
e505e6e
Compare
Concerning the last commit, there is no way to make suggestions on unchanged file so I simply committed it. Let me know. |
We should discuss whether we want to explicitly disallow to use of "bands" for single-band use-cases where instead people must provide the properties at the asset/item properties level directly. |
I vote +1 for disallowing unique band |
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.
@m-mohr Are we good for a merge in dev
? At least to be able to release a beta version to validate extensions and pending PR that requires the band construct?
The extensions should validate without requiring 1.1. I think we could do the following:
stac-extensions/raster#45 should finally be ready for review! |
We should probably discuss in the PR when properties should be used on the asset level and when people should have a single-element bands array. I assume it's just if it's a named entity (i.e. |
you mean allowing single band to be able to set properties only at band level? |
I meant guiding users between the different options. Single BandFor a single band asset, you could for example do one of the two options: (1) {
"assets": {
"example": {
"href": "example.tif",
"bands": [
{
"data_type": "uint16",
"eo:common_name": "red",
"raster:spatial_resoltion": 10
}
]
}
}
} or (2) {
"assets": {
"example": {
"href": "example.tif",
"data_type": "uint16",
"eo:common_name": "red",
"raster:spatial_resoltion": 10
}
}
} If you add a name, it get's even more unclear: (3) {
"assets": {
"example": {
"href": "example.tif",
"bands": [
{
"name": "r",
"data_type": "uint16",
"eo:common_name": "red",
"raster:spatial_resoltion": 10
}
]
}
}
} Would you then do the following? (4) {
"assets": {
"example": {
"href": "example.tif",
"data_type": "uint16",
"eo:common_name": "red",
"raster:spatial_resoltion": 10,
"bands": [
{
"name": "r"
}
]
}
}
} Multi-bandAnd then for multi-band files, you can often also de-duplicate some properties. Old example from 1.0: {
"assets": {
"example": {
"href": "example.tif",
"eo:bands": [
{
"name": "r",
"common_name": "red"
},
{
"name": "g",
"common_name": "green"
},
{
"name": "b",
"common_name": "blue"
}
],
"raster:bands": [
{
"data_type": "uint16",
"spatial_resolution": 10
},
{
"data_type": "uint16",
"spatial_resolution": 10
},
{
"data_type": "uint16",
"spatial_resolution": 10
}
]
}
}
} If you would just merge them, you end up with: {
"assets": {
"example": {
"href": "example.tif",
"bands": [
{
"name": "r",
"eo:common_name": "red",
"data_type": "uint16",
"raster:spatial_resolution": 10
},
{
"name": "g",
"eo:common_name": "green",
"data_type": "uint16",
"raster:spatial_resolution": 10
},
{
"name": "b",
"eo:common_name": "blue",
"data_type": "uint16",
"raster:spatial_resolution": 10
}
]
}
}
} But ideally, I think, you could simplify to: {
"assets": {
"example": {
"href": "example.tif",
"data_type": "uint16",
"raster:spatial_resolution": 10,
"bands": [
{
"name": "r",
"eo:common_name": "red"
},
{
"name": "g",
"eo:common_name": "green"
},
{
"name": "b",
"eo:common_name": "blue"
}
]
}
}
} I think the difference between 5 and 7 shows the beauty of the new concept nicely ;-) Edit: I tried to write something in best practices: 5b9af3b Please review. |
Co-authored-by: Pete Gadomski <pete.gadomski@gmail.com>
Related Issue(s): #1213
Proposed Changes:
bands
is a new field in common metadata to replaceeo:bands
andraster:bands
(#1213)data_type
,nodata
,statistics
andunit
have been added to common metadata (#1213)This PR needs to wait for the EO and Raster Extension PRs.
ToDo:
PR Checklist:
or a CHANGELOG entry is not required.
and I have opened issue/PR #XXX to track the change.