auto-sync: 2026-04-21 14:10:01
This commit is contained in:
@@ -126,7 +126,7 @@ def find_fr24_track(conn, flight_number: str, flight_date: date,
|
|||||||
if not rows:
|
if not rows:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
# Prefer route match
|
# Route match REQUIRED for numeric-only matching (avoids e.g. DP6807 → SU6807)
|
||||||
if origin_iata and destination_iata:
|
if origin_iata and destination_iata:
|
||||||
for row in rows:
|
for row in rows:
|
||||||
orig_iata = ICAO_TO_IATA.get(row[2])
|
orig_iata = ICAO_TO_IATA.get(row[2])
|
||||||
@@ -134,8 +134,8 @@ def find_fr24_track(conn, flight_number: str, flight_date: date,
|
|||||||
if orig_iata == origin_iata and dest_iata == destination_iata:
|
if orig_iata == origin_iata and dest_iata == destination_iata:
|
||||||
return (row[0], row[1])
|
return (row[0], row[1])
|
||||||
|
|
||||||
# Fallback: first match by number only
|
# No route match — do not return a wrong track
|
||||||
return (rows[0][0], rows[0][1])
|
return None
|
||||||
|
|
||||||
|
|
||||||
def find_fa_track(conn, flight_number: str, flight_date: date,
|
def find_fa_track(conn, flight_number: str, flight_date: date,
|
||||||
@@ -187,6 +187,7 @@ def find_fa_track(conn, flight_number: str, flight_date: date,
|
|||||||
if not rows:
|
if not rows:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
# Route match REQUIRED for numeric-only matching
|
||||||
if origin_iata and destination_iata:
|
if origin_iata and destination_iata:
|
||||||
for row in rows:
|
for row in rows:
|
||||||
orig_iata = ICAO_TO_IATA.get(row[2])
|
orig_iata = ICAO_TO_IATA.get(row[2])
|
||||||
@@ -194,7 +195,8 @@ def find_fa_track(conn, flight_number: str, flight_date: date,
|
|||||||
if orig_iata == origin_iata and dest_iata == destination_iata:
|
if orig_iata == origin_iata and dest_iata == destination_iata:
|
||||||
return (row[0], row[1])
|
return (row[0], row[1])
|
||||||
|
|
||||||
return (rows[0][0], rows[0][1])
|
# No route match — do not return a wrong track
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
# ── point fetchers ────────────────────────────────────────────
|
# ── point fetchers ────────────────────────────────────────────
|
||||||
@@ -367,7 +369,7 @@ def update_noise_grid(conn, flight_date: date):
|
|||||||
round(lon::numeric, 2) AS grid_lon,
|
round(lon::numeric, 2) AS grid_lon,
|
||||||
%s AS period_date,
|
%s AS period_date,
|
||||||
COUNT(DISTINCT flight_id) AS flight_count,
|
COUNT(DISTINCT flight_id) AS flight_count,
|
||||||
AVG(noise_score) AS noise_score,
|
AVG(tp.noise_score) AS noise_score,
|
||||||
AVG(altitude_m) AS avg_altitude_m,
|
AVG(altitude_m) AS avg_altitude_m,
|
||||||
now()
|
now()
|
||||||
FROM fr24_mart.track_points tp
|
FROM fr24_mart.track_points tp
|
||||||
@@ -387,6 +389,14 @@ def update_noise_grid(conn, flight_date: date):
|
|||||||
def update_source_coverage(conn, flight_date: date):
|
def update_source_coverage(conn, flight_date: date):
|
||||||
"""Recalculate source_coverage for the date."""
|
"""Recalculate source_coverage for the date."""
|
||||||
with conn.cursor() as cur:
|
with conn.cursor() as cur:
|
||||||
|
cur.execute(
|
||||||
|
"SELECT count(*), count(*) FILTER(WHERE has_fr24), count(*) FILTER(WHERE has_rtlsdr)"
|
||||||
|
" FROM fr24_mart.flights WHERE flight_date = %s",
|
||||||
|
(flight_date,),
|
||||||
|
)
|
||||||
|
row = cur.fetchone()
|
||||||
|
log.info("source_coverage debug: total=%s fr24=%s rtlsdr=%s", *row)
|
||||||
|
|
||||||
cur.execute(
|
cur.execute(
|
||||||
"""
|
"""
|
||||||
INSERT INTO fr24_mart.source_coverage
|
INSERT INTO fr24_mart.source_coverage
|
||||||
|
|||||||
Reference in New Issue
Block a user