stac-utils / stac-utils/stac-fastapi

Support for searching by link and asset via synthetic queryables

Open
#546 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
324
Forks
126
Avg merge
1d 22h
Merged PRs (30d)
10

Description

In the way I use it here, a synthetic queryable is one that doesn't exist as a literal field in the Item. Conceptually, all queryables are synthetic, as there is a mapping defined between the queryable term (e.g., eo:cloud_cover) and the search filter this translates to (e.g., item.properties.eo:cloud_cover <= 32.1), but synthetic is applied here to mean that that there's a more complex relationship expressed in the mapping.

Examples of what would be supported are:

  1. The Item has an Asset with the key red.
  2. The Item has an Asset with an eo:band array containing red and has a role array containing data.
  3. The Item has a Link with link relation derived_from and an href of https://planetarycomputer.microsoft.com/api/stac/v1/collections/sentinel-2-l2a/items/S2A_MSIL2A_20230320T052641_R105_T48XWH_20230320T082142

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue identifies synthetic queryables, queryable-to-search-filter mappings, and examples involving Item assets and links, but names no repository files, tests, or entry points. Start by tracing the existing queryable mapping and search-filter handling; done means searches can match the listed asset and link conditions.

Written by the indexing model from the issue text.

Assessment

Tech stack
fastapi, python
Domain
api, backend, search
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.