eomatch.Matchup.stac_id

Contents

eomatch.Matchup.stac_id#

property Matchup.stac_id: str | None#

STAC Item ID for this matchup, or None if no products are set.

Built from the collection ID, the acquisition datetime of the first satellite (non-in-situ) product, and a short hash of the sorted product IDs (see _product_id_hash()). “First” means the first satellite product in self.products’s own order (sorted by collection name – see the products setter): for a sat2insitu matchup there is only one satellite product, so this is simply its datetime; for a sat2sat matchup it’s the alphabetically-first collection’s product. In-situ products (e.g. RadCalNet) are never used for the timestamp – their own site-level recording window is coarse (hours wide) and isn’t what distinguishes one matchup from another the way the satellite pass’s own precise overpass time does.

Uniqueness across different matchups is guaranteed entirely by the trailing product-ID hash, not by the timestamp: two matchups sharing an identical collection pair and satellite timestamp – e.g. two same-orbit satellite tiles matched against the same fixed-point in-situ site, whose small ROI produces the same collocation region for both – still get different IDs, since their underlying product IDs differ. The timestamp segment exists purely to make the ID human-readable/sortable, so unlike the hash it doesn’t need to combine every product’s own time or the collocation bounding box.