Skip to content

Fix item search code hints for CMR collections #185

@hrodmn

Description

@hrodmn

Ideally there would be single link structure that we could trust to get from a collection to its parent API that has a rel=item-search link. It's fine to go to the rel=root in most cases, but CMR STAC is different because the root link is https://cmr.earthdata.nasa.gov/stac which does not have an item-search endpoint.

Example: a collection in the GES_DISC sub-catalog

{
  "type": "Collection",
  "id": "SNDRJ1CrISL1B_2",
  "title": "JPSS-1 CrIS Level 1B Full Spectral Resolution V2 (SNDRJ1CrISL1B) at GES DISC",
  "description": "...",
  "stac_version": "1.0.0",
  "stac_extensions": [
    "https://stac-extensions.github.io/storage/v2.0.0/schema.json"
  ],
  "extent": {...},
  "assets": {...},
  "providers": [...],
  "links": [
    {
      "rel": "self",
      "href": "https://cmr.earthdata.nasa.gov/stac/GES_DISC/collections/SNDRJ1CrISL1B_2",
      "type": "application/json"
    },
    {
      "rel": "root",
      "href": "https://cmr.earthdata.nasa.gov/stac",
      "type": "application/json",
      "title": "Root Catalog"
    },
    {
      "rel": "parent",
      "href": "https://cmr.earthdata.nasa.gov/stac/GES_DISC/collections",
      "type": "application/json",
      "title": "Provider Collections"
    },
    ...
    {
      "rel": "items",
      "href": "https://cmr.earthdata.nasa.gov/stac/GES_DISC/collections/SNDRJ1CrISL1B_2/items",
      "type": "application/geo+json",
      "title": "Collection Items"
    }
  ],
  "license": "proprietary",
  "keywords": [...],
  "summaries": {...},
  "storage:schemes": {...}
}

Ideally CMR STAC would advertise the link to the GES_DISC STAC API (https://cmr.earthdata.nasa.gov/stac/GES_DISC) which is where you need to go to do an item search but instead it links to the total root API (https://cmr.earthdata.nasa.gov/stac) which is not capable of item searches.

Is there a correct way to specify these links? I don't think it is wrong to say that the root api url is https://cmr.earthdata.nasa.gov/stac, so maybe we need to rely on a different method to resolve the API url for item searches.

cc @wildintellect @sujen1412

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions