From 81f6150b7740716033218e200d908cb4f42ff86b Mon Sep 17 00:00:00 2001 From: hrodmn Date: Fri, 28 Feb 2025 09:24:51 -0600 Subject: [PATCH] pin to projection extension v1.2.0 --- examples/GMW_N26W082_2020_v3/GMW_N26W082_2020_v3.json | 3 +-- src/stactools/global_mangrove_watch/stac.py | 8 ++++++++ uv.lock | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/examples/GMW_N26W082_2020_v3/GMW_N26W082_2020_v3.json b/examples/GMW_N26W082_2020_v3/GMW_N26W082_2020_v3.json index 90bc041..8916210 100644 --- a/examples/GMW_N26W082_2020_v3/GMW_N26W082_2020_v3.json +++ b/examples/GMW_N26W082_2020_v3/GMW_N26W082_2020_v3.json @@ -2,7 +2,7 @@ "type": "Feature", "stac_version": "1.1.0", "stac_extensions": [ - "https://stac-extensions.github.io/projection/v2.0.0/schema.json" + "https://stac-extensions.github.io/projection/v1.2.0/schema.json" ], "id": "GMW_N26W082_2020_v3", "geometry": { @@ -39,7 +39,6 @@ 26.0 ], "properties": { - "proj:code": "EPSG:4326", "proj:geometry": { "type": "Polygon", "coordinates": [ diff --git a/src/stactools/global_mangrove_watch/stac.py b/src/stactools/global_mangrove_watch/stac.py index 3fd2b4e..4162dd8 100644 --- a/src/stactools/global_mangrove_watch/stac.py +++ b/src/stactools/global_mangrove_watch/stac.py @@ -302,6 +302,14 @@ def create_item( # ensure proj:epsg gets set (pystac bug) item.properties["proj:epsg"] = EPSG + # we need to stick with projection extension v1.1.0 in order to maintain + # compatibility with the STACIT driver in older GDAL versions + for i, extension in enumerate(item.stac_extensions): + if "projection/v2.0" in extension: + _extension = item.stac_extensions.pop(i) + item.stac_extensions.append(_extension.replace("v2.0.0", "v1.2.0")) + _ = item.properties.pop("proj:code") + assert isinstance(item, Item) return item diff --git a/uv.lock b/uv.lock index 235427a..0265343 100644 --- a/uv.lock +++ b/uv.lock @@ -2789,7 +2789,7 @@ wheels = [ [[package]] name = "stactools-global-mangrove-watch" -version = "0.2.1" +version = "0.2.2" source = { editable = "." } dependencies = [ { name = "semver" },