From 09090f2159bda08b865a2a13541ae2580acee56e Mon Sep 17 00:00:00 2001 From: Seongsu Jeong Date: Mon, 28 Aug 2023 10:42:59 -0700 Subject: [PATCH] longitude adjustment when antimedirian crossing has detected --- src/s1reader/s1_info.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/s1reader/s1_info.py b/src/s1reader/s1_info.py index c9caf1c9..5a0fd13c 100644 --- a/src/s1reader/s1_info.py +++ b/src/s1reader/s1_info.py @@ -112,6 +112,11 @@ def _bounds_from_preview(safe_path: Union[Path, str]) -> list[float]: point_str = list(elem.text for elem in root.iter("coordinates"))[0] coords = [p.split(",") for p in point_str.split()] lons, lats = zip(*[(float(lon), float(lat)) for lon, lat in coords]) + + if max(lons) - min(lons) > 180.0: + # Antimeridian crossing detected + lons = [lon + (lon < 0) * 360.0 for lon in lons] + return [min(lons), min(lats), max(lons), max(lats)]