From 671caf01bd0b4175f05b2af7a2f0abd5a0703bba Mon Sep 17 00:00:00 2001 From: XANTRONIX Industrial Date: Sun, 16 Mar 2025 00:34:45 -0400 Subject: [PATCH] Handle longitudes <-99.99 in SPC outlook areas --- lib/xmet/spc.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/xmet/spc.py b/lib/xmet/spc.py index 61ea894..bcf818f 100644 --- a/lib/xmet/spc.py +++ b/lib/xmet/spc.py @@ -63,9 +63,14 @@ def parse_coord(coord: str) -> tuple[float, float]: if len(coord) != 8: raise SPCOutlookParserException('Coordinate pair is incorrect length string') + lon = int(coord[4:8]) + + if lon <= 60: + lon += 100 + return ( - 0.01 * -int(coord[4:8]), - 0.01 * int(coord[0:4]) + 0.01 * -lon, + 0.01 * int(coord[0:4]) ) def each_poly(parts: list[str]): @@ -73,6 +78,7 @@ def each_poly(parts: list[str]): for part in parts: if part == '99999999': + points.append(points[0]) yield shapely.Polygon(points) points = list() else: