developmentseed / developmentseed/titiler
Support virtual assets
- Dominant language
- Python
- Stars
- 1.2k
- Forks
- 254
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 9
Description
We (@emmanuelmathot @vincentsarago @smohiudd) have been discussing support for tiling parameters in STAC.
I think we are reaching consensus that we will store these parameters within a [virtual asset](https://github.com/stac-extensions/virtual-assets). Note a virtual asset is still an asset but it typically does not exist and is passed to some service to be generated. The parameters for titiler would be stored in a virtual asset under either the `compose` prefix or the `processing` prefix. See [this documentation for titiler in the composite extension](https://github.com/stac-extensions/composite/#titiler).
My understanding is that there is interest to support processing of virtual assets in titiler so that, when a virtual asset exists, and is passed to the API as part of the `assets=[]` parameter, titiler would then look up the asset(s) and apply any parameters titiler expects (`compose:*`, `processing:expression`, `raster:bands:nodata`, `unscale`)
Questions:
1. Do we agree with the metadata approach or see any issues with it? I will add one or more example assets with all parameters.
2. Do we agree virtual assets should be supported by titiler
3. If (2) is yes, what should be the approach - a new path or query parameter? Presumably if parameters are passed in the URL they would override the virtual asset.
Contributor guide
Research direction
No file or test is named. Start by tracing the API handling of the assets=[] parameter and reviewing the linked virtual-assets and composite-extension documentation for compose and processing metadata. Done requires agreement on the metadata and API approach, including URL overrides, followed by implementation and coverage for virtual assets.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- fastapi, python
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100