kopia lustrzana https://github.com/glidernet/ogn-python
ALTER TABLE receiver_coverages RENAME COLUMN location_mgrs TO location_mgrs_short
rodzic
02e8c17dca
commit
276d3d1439
|
@ -28,7 +28,7 @@ def create_receiver_coverage(session=None, date=None):
|
||||||
(start, end) = date_to_timestamps(date)
|
(start, end) = date_to_timestamps(date)
|
||||||
|
|
||||||
# Filter aircraft beacons
|
# Filter aircraft beacons
|
||||||
sq = session.query(AircraftBeacon.location_mgrs_short.label('location_mgrs'),
|
sq = session.query(AircraftBeacon.location_mgrs_short,
|
||||||
AircraftBeacon.receiver_id,
|
AircraftBeacon.receiver_id,
|
||||||
AircraftBeacon.signal_quality,
|
AircraftBeacon.signal_quality,
|
||||||
AircraftBeacon.altitude,
|
AircraftBeacon.altitude,
|
||||||
|
@ -40,7 +40,7 @@ def create_receiver_coverage(session=None, date=None):
|
||||||
.subquery()
|
.subquery()
|
||||||
|
|
||||||
# ... and group them by reduced MGRS, receiver and date
|
# ... and group them by reduced MGRS, receiver and date
|
||||||
query = session.query(sq.c.location_mgrs,
|
query = session.query(sq.c.location_mgrs_short,
|
||||||
sq.c.receiver_id,
|
sq.c.receiver_id,
|
||||||
func.cast(date, Date).label('date'),
|
func.cast(date, Date).label('date'),
|
||||||
func.max(sq.c.signal_quality).label('max_signal_quality'),
|
func.max(sq.c.signal_quality).label('max_signal_quality'),
|
||||||
|
@ -54,7 +54,7 @@ def create_receiver_coverage(session=None, date=None):
|
||||||
|
|
||||||
# if a receiver coverage entry exist --> update it
|
# if a receiver coverage entry exist --> update it
|
||||||
upd = update(ReceiverCoverage) \
|
upd = update(ReceiverCoverage) \
|
||||||
.where(and_(ReceiverCoverage.location_mgrs == query.c.location_mgrs,
|
.where(and_(ReceiverCoverage.location_mgrs_short == query.c.location_mgrs_short,
|
||||||
ReceiverCoverage.receiver_id == query.c.receiver_id,
|
ReceiverCoverage.receiver_id == query.c.receiver_id,
|
||||||
ReceiverCoverage.date == date)) \
|
ReceiverCoverage.date == date)) \
|
||||||
.values({"max_signal_quality": query.c.max_signal_quality,
|
.values({"max_signal_quality": query.c.max_signal_quality,
|
||||||
|
@ -71,12 +71,12 @@ def create_receiver_coverage(session=None, date=None):
|
||||||
# if a receiver coverage entry doesnt exist --> insert it
|
# if a receiver coverage entry doesnt exist --> insert it
|
||||||
new_coverage_entries = session.query(query) \
|
new_coverage_entries = session.query(query) \
|
||||||
.filter(~exists().where(
|
.filter(~exists().where(
|
||||||
and_(ReceiverCoverage.location_mgrs == query.c.reduced_mgrs,
|
and_(ReceiverCoverage.location_mgrs_short == query.c.location_mgrs_short,
|
||||||
ReceiverCoverage.receiver_id == query.c.receiver_id,
|
ReceiverCoverage.receiver_id == query.c.receiver_id,
|
||||||
ReceiverCoverage.date == date)))
|
ReceiverCoverage.date == date)))
|
||||||
|
|
||||||
ins = insert(ReceiverCoverage).from_select((
|
ins = insert(ReceiverCoverage).from_select((
|
||||||
ReceiverCoverage.location_mgrs,
|
ReceiverCoverage.location_mgrs_short,
|
||||||
ReceiverCoverage.receiver_id,
|
ReceiverCoverage.receiver_id,
|
||||||
ReceiverCoverage.date,
|
ReceiverCoverage.date,
|
||||||
ReceiverCoverage.max_signal_quality,
|
ReceiverCoverage.max_signal_quality,
|
||||||
|
|
|
@ -9,7 +9,7 @@ from .base import Base
|
||||||
class ReceiverCoverage(Base):
|
class ReceiverCoverage(Base):
|
||||||
__tablename__ = "receiver_coverages"
|
__tablename__ = "receiver_coverages"
|
||||||
|
|
||||||
location_mgrs = Column(String(9), primary_key=True)
|
location_mgrs_short = Column(String(9), primary_key=True)
|
||||||
date = Column(Date, primary_key=True)
|
date = Column(Date, primary_key=True)
|
||||||
|
|
||||||
max_signal_quality = Column(Float)
|
max_signal_quality = Column(Float)
|
||||||
|
|
|
@ -57,7 +57,7 @@ class TestDB(unittest.TestCase):
|
||||||
coverages = session.query(ReceiverCoverage).all()
|
coverages = session.query(ReceiverCoverage).all()
|
||||||
self.assertEqual(len(coverages), 1)
|
self.assertEqual(len(coverages), 1)
|
||||||
coverage = coverages[0]
|
coverage = coverages[0]
|
||||||
self.assertEqual(coverage.location_mgrs, '89ABC1267')
|
self.assertEqual(coverage.location_mgrs_short, '89ABC1267')
|
||||||
self.assertEqual(coverage.receiver_id, self.r01.id)
|
self.assertEqual(coverage.receiver_id, self.r01.id)
|
||||||
self.assertEqual(coverage.min_altitude, 800)
|
self.assertEqual(coverage.min_altitude, 800)
|
||||||
self.assertEqual(coverage.max_altitude, 850)
|
self.assertEqual(coverage.max_altitude, 850)
|
||||||
|
|
Ładowanie…
Reference in New Issue