From d66ea835b196a5a81c2bfd4841b45d0b1631fc65 Mon Sep 17 00:00:00 2001 From: Al Date: Fri, 23 Sep 2016 01:28:13 -0400 Subject: [PATCH] [fix] allowing latitude 90 for validation purposes (North Pole) --- scripts/geodata/coordinates/conversion.py | 4 +--- scripts/geodata/osm/admin_boundaries.py | 3 +++ 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/geodata/coordinates/conversion.py b/scripts/geodata/coordinates/conversion.py index 7917c9c5..01402ced 100644 --- a/scripts/geodata/coordinates/conversion.py +++ b/scripts/geodata/coordinates/conversion.py @@ -57,8 +57,6 @@ def degrees_to_decimal(degrees, minutes, seconds): return degrees + (minutes / 60.0) + (seconds / 3600.0) - - def is_valid_latitude(latitude): '''Latitude must be real number between -90.0 and 90.0''' try: @@ -66,7 +64,7 @@ def is_valid_latitude(latitude): except (ValueError, TypeError): return False - if latitude >= 90.0 or latitude < -90.0 or math.isinf(latitude) or math.isnan(latitude): + if latitude > 90.0 or latitude < -90.0 or math.isinf(latitude) or math.isnan(latitude): return False return True diff --git a/scripts/geodata/osm/admin_boundaries.py b/scripts/geodata/osm/admin_boundaries.py index 7379a457..2f101078 100644 --- a/scripts/geodata/osm/admin_boundaries.py +++ b/scripts/geodata/osm/admin_boundaries.py @@ -203,6 +203,9 @@ class OSMPolygonReader(object): if lat is None or lon is None: continue + if isclose(lat, 90.0): + lat = 89.999 + if isclose(lon, 180.0): lon = 179.999