From 9b79261240c37ca000bd42bff7152ce449e7f0c9 Mon Sep 17 00:00:00 2001 From: Rossen Georgiev Date: Fri, 2 Jan 2015 14:06:24 +0000 Subject: [PATCH] added ambiguity parsing for normal packets --- aprslib/parse.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/aprslib/parse.py b/aprslib/parse.py index a45f1fd..f55445a 100644 --- a/aprslib/parse.py +++ b/aprslib/parse.py @@ -818,7 +818,17 @@ def _parse_normal(body): body ) = match[0] - # TODO: position ambiguity + # position ambiguity + posambiguity = lat_min.count(' ') + parsed.update({'posambiguity': posambiguity}) + + # we center the position inside the ambiguity box + if posambiguity >= 4: + lat_min = "30" + lon_min = "30" + else: + lat_min = lat_min.replace(' ', '5', 1) + lon_min = lon_min.replace(' ', '5', 1) # validate longitude and latitude @@ -839,7 +849,6 @@ def _parse_normal(body): """ # convert coordinates from DDMM.MM to decimal - latitude = int(lat_deg) + (float(lat_min) / 60.0) longitude = int(lon_deg) + (float(lon_min) / 60.0)