Skip to content

modis-43A4-061 STAC item footprints cause bbox search to miss overlapping granules #495

Description

@amullen01

STAC bbox searches against modis-43A4-061 can fail to return granules whose footprints intersect the query bbox, resulting in mosaicked images with only partial coverage of the bbox. This is particularly common when the search bbox intersects with a MODIS tile boundary. This appears to stem from catalog item geometry/bbox being coarse WGS84 bounding boxes that do not align with the MODIS sinusoidal tile grid.

Environment
Collection: modis-43A4-061 (MCD43A4.061)
STAC API: https://planetarycomputer.microsoft.com/api/stac/v1
Client: pystac-client with planetary_computer.sign_inplace
Loader: odc.stac.stac_load
Minimal reproduction

ROI (WGS84 bbox) near the h10/h11 sinusoidal tile boundary:

bbox = [-106.3706, 48.6672, -106.1583, 48.8076] 
datetime = "2020-07-08/2020-07-08"

search = catalog.search(
    collections=["modis-43A4-061"],
    bbox=bbox,
    datetime=datetime,
)
items = list(search.items())
# Returns only h11v04 granules (e.g. MCD43A4.A2020190.h11v04.061.*)
# Does NOT return h10v04, even though the ROI lies in h10v04 sinusoidal space
Granule modis:horizontal-tile / modis:vertical-tile STAC footprint intersects ROI? Actual pixel coverage of ROI
h11v04 11 / 4 Yes (footprint fully contains ROI) ~26%
h10v04 10 / 4 No ~75%

Observed behavior

  • h11v04 matches the bbox search but provides incomplete coverage.
  • h10v04 is not returned despite covering most of the ROI.

Current workaround is to enlarge the search bbox or specify which MODIS granules to use.

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions