Skip to content

Commit 51163ee

Browse files
committed
Read from proj:code if present gjoseph92#262
1 parent 3857190 commit 51163ee

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

stackstac/prepare.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,16 @@
3131
[("url", object), ("bounds", "float64", 4), ("scale_offset", "float64", 2)]
3232
)
3333

34+
def get_crs(item, default = None) -> Optional[int]:
35+
props = item.get("properties", {})
36+
crs = props.get("proj:code")
37+
if isinstance(crs, str) and crs.startswith("EPSG:"):
38+
crs = int(crs.split(":")[1])
39+
else:
40+
crs = props.get("proj:epsg")
41+
if crs is None:
42+
crs = default
43+
return crs
3444

3545
class Mimetype(NamedTuple):
3646
type: str
@@ -131,7 +141,7 @@ def prepare_items(
131141
raise ValueError("Zero asset IDs requested")
132142

133143
for item_i, item in enumerate(items):
134-
item_epsg = item["properties"].get("proj:epsg")
144+
item_epsg = get_crs(item)
135145
item_bbox = item["properties"].get("proj:bbox")
136146
item_shape = item["properties"].get("proj:shape")
137147
item_transform = item["properties"].get("proj:transform")
@@ -143,7 +153,7 @@ def prepare_items(
143153
except KeyError:
144154
continue
145155

146-
asset_epsg = asset.get("proj:epsg", item_epsg)
156+
asset_epsg = get_crs(asset, item_epsg)
147157
asset_bbox = asset.get("proj:bbox", item_bbox)
148158
asset_shape = asset.get("proj:shape", item_shape)
149159
asset_transform = asset.get("proj:transform", item_transform)

0 commit comments

Comments
 (0)