Skip to content

Commit 4db3a57

Browse files
committed
Add migration for eo:epsg to proj:epsg
1 parent 77f203e commit 4db3a57

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

pystac/extensions/eo.py

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
SummariesExtension,
2525
)
2626
from pystac.extensions.hooks import ExtensionHooks
27-
from pystac.extensions import view
27+
from pystac.extensions import view, projection
2828
from pystac.serialization.identify import STACJSONDescription, STACVersionID
2929
from pystac.utils import get_required, map_opt
3030

@@ -557,6 +557,22 @@ def migrate(
557557
]
558558
del obj["properties"]["eo:{}".format(field)]
559559

560+
# eo:epsg became proj:epsg
561+
eo_epsg = PREFIX + "epsg"
562+
proj_epsg = projection.PREFIX + "epsg"
563+
if eo_epsg in obj["properties"] and proj_epsg not in obj["properties"]:
564+
obj["properties"][proj_epsg] = obj["properties"].pop(eo_epsg)
565+
obj["stac_extensions"] = obj.get("stac_extensions", [])
566+
if (
567+
projection.ProjectionExtension.get_schema_uri()
568+
not in obj["stac_extensions"]
569+
):
570+
obj["stac_extensions"].append(
571+
projection.ProjectionExtension.get_schema_uri()
572+
)
573+
if not any(prop.startswith(PREFIX) for prop in obj["properties"]):
574+
obj["stac_extensions"].remove(EOExtension.get_schema_uri())
575+
560576
if version < "1.0.0-beta.1" and info.object_type == pystac.STACObjectType.ITEM:
561577
# gsd moved from eo to common metadata
562578
if "eo:gsd" in obj["properties"]:

0 commit comments

Comments
 (0)