Skip to content

Commit

Permalink
test: more flexible derived_from
Browse files Browse the repository at this point in the history
  • Loading branch information
schmidtnz committed Feb 26, 2025
1 parent fc917b6 commit 26f87f3
Showing 1 changed file with 22 additions and 13 deletions.
35 changes: 22 additions & 13 deletions scripts/stac/imagery/create_stac.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,8 @@ def get_providers(licensors: list[str], producers: list[str]) -> list[Provider]:
return providers


#pylint: disable=too-many-locals
#pylint: disable=too-many-nested-blocks
def create_item(
asset_path: str,
start_datetime: str,
Expand Down Expand Up @@ -135,20 +137,27 @@ def create_item(

if derived_from is not None:
for derived in derived_from:
derived_item_content = read(derived)
derived_stac = json.loads(derived_item_content.decode("UTF-8"))
if not start_datetime or derived_stac["properties"]["start_datetime"] < start_datetime:
start_datetime = derived_stac["properties"]["start_datetime"]
if not end_datetime or derived_stac["properties"]["end_datetime"] > end_datetime:
end_datetime = derived_stac["properties"]["end_datetime"]
item.add_link(
Link(
path=derived,
rel=Relation.DERIVED_FROM,
media_type=StacMediaType.GEOJSON,
file_content=derived_item_content,
try:
derived_item_content = read(derived)
derived_stac = json.loads(derived_item_content.decode("UTF-8"))
if not start_datetime or derived_stac["properties"]["start_datetime"] < start_datetime:
start_datetime = derived_stac["properties"]["start_datetime"]
if not end_datetime or derived_stac["properties"]["end_datetime"] > end_datetime:
end_datetime = derived_stac["properties"]["end_datetime"]
if item.stac.get("links"):
for link in item.stac["links"]:
if link["rel"] == "derived_from":
get_log().info(f"Existing derived_from {link['href']}", href=link["href"])
item.add_link(
Link(
path=derived,
rel=Relation.DERIVED_FROM,
media_type=StacMediaType.GEOJSON,
file_content=derived_item_content,
)
)
)
except NoSuchFileError as e:
get_log().error(f"Error loading derived item {derived}", json_file=derived, error=str(e))

item.update_datetime(start_datetime, end_datetime)
item.update_spatial(*get_extents(gdalinfo_result))
Expand Down

0 comments on commit 26f87f3

Please sign in to comment.