diff --git a/lib/nexrad/storm.py b/lib/nexrad/storm.py index dfa56e3..4599e9c 100644 --- a/lib/nexrad/storm.py +++ b/lib/nexrad/storm.py @@ -118,17 +118,29 @@ class StormReport(): select id, call, - ST_Distance(coord, MakePoint(?, ?, %d), true) as distance + ST_Distance(coord, + MakeLine(MakePoint(?, ?, {csr}), + MakePoint(?, ?, {csr})), true) as distance from nexrad_radar where - distance <= 460000 + distance <= 230000 order by distance asc - limit 3 - """ % (COORD_SYSTEM) + """.format(csr=COORD_SYSTEM) - st = db.execute(sql, (self.coord_start.lon, - self.coord_start.lat)) + radars = list() - return st.fetchone() + st = db.execute(sql, ( + self.coord_start.lon, self.coord_start.lat, + self.coord_end.lon, self.coord_end.lat)) + + while True: + radar = st.fetchone() + + if radar is None: + break + + radars.append(radar) + + return radars