From 6e6d27f32390111276d3e36b625f2c9caba1919d Mon Sep 17 00:00:00 2001 From: "2569718930@qq.com" <2569718930@qq.com> Date: Tue, 26 May 2026 09:20:49 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=AB=E6=96=AF=E7=A7=91=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=BA=90=E7=AE=80=E5=8C=96=EF=BC=9A=E7=A7=BB=E9=99=A4=20METAR?= =?UTF-8?q?=20=E9=9B=86=E7=BE=A4=20+=20NOAA=20=E7=BB=93=E7=AE=97=EF=BC=8C?= =?UTF-8?q?=E4=BB=85=E4=BF=9D=E7=95=99=20UUWW=20=E5=8D=95=E7=AB=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - city_registry: settlement_source noaa → metar - weather_sources: 移除 Moscow METAR cluster 5 站配置 - country_networks: 删除 RussiaStationWebNetworkProvider 类 - 文档: Tier 4 备注更新 --- docs/CITY_DATA_SOURCES.md | 2 +- src/data_collection/city_registry.py | 4 ++-- src/data_collection/country_networks.py | 22 ---------------------- src/data_collection/weather_sources.py | 1 - 4 files changed, 3 insertions(+), 26 deletions(-) diff --git a/docs/CITY_DATA_SOURCES.md b/docs/CITY_DATA_SOURCES.md index 0db71788..c227e6a6 100644 --- a/docs/CITY_DATA_SOURCES.md +++ b/docs/CITY_DATA_SOURCES.md @@ -57,7 +57,7 @@ |------|------|------| | london | EGLC | Met Office 仅 1 小时更新 | | jeddah | OEJN | NCM 数据源目前不可用 | -| moscow | UUWW | 俄罗斯 METAR 集群 + NOAA WRH 结算 | +| moscow | UUWW | 仅 UUWW METAR 单站 | | shenzhen | ZGSZ | 已接入 HKO 流浮山 10 分钟数据,见 Tier 3 | | munich | EDDM | DWD 延迟约 1 小时 | | milan | LIMC | 无已知实时源 | diff --git a/src/data_collection/city_registry.py b/src/data_collection/city_registry.py index a18c40f5..8e87de68 100644 --- a/src/data_collection/city_registry.py +++ b/src/data_collection/city_registry.py @@ -40,7 +40,7 @@ CITY_REGISTRY = { "lat": 55.5915, "lon": 37.2615, "icao": "UUWW", - "settlement_source": "noaa", + "settlement_source": "metar", "settlement_station_code": "UUWW", "settlement_station_label": "Vnukovo International Airport", "tz_offset": 10800, @@ -50,7 +50,7 @@ CITY_REGISTRY = { "risk_emoji": "🟡", "airport_name": "Vnukovo International Airport", "distance_km": 29.0, - "warning": "市场现按 NOAA UUWW 整度°C口径结算;以 weather.gov Temp 列在当日全部小时最终完成后的最高整度摄氏值为准。", + "warning": "仅 UUWW METAR 单站;无实时国家级站网,看日内趋势时需注意报间相对稳定但更新频率较低。", }, "london": { "name": "London", diff --git a/src/data_collection/country_networks.py b/src/data_collection/country_networks.py index fe072731..92ce682f 100644 --- a/src/data_collection/country_networks.py +++ b/src/data_collection/country_networks.py @@ -191,8 +191,6 @@ def _provider_code_for_city(city: str) -> str: return "saudi_ncm" if normalized == "paris": return "fr_aeroweb" - if normalized == "moscow": - return "russia_metar_cluster" if settlement_source == "hko": return "hongkong_hko" if settlement_source == "cwa": @@ -984,24 +982,6 @@ class KoreaKmaNetworkProvider(CountryNetworkProvider): } -class RussiaStationWebNetworkProvider(CountryNetworkProvider): - def __init__(self) -> None: - super().__init__("russia_metar_cluster", "Moscow METAR network") - - def official_nearby_current(self, city: str, raw: Dict[str, Any]) -> List[Dict[str, Any]]: - return _metar_cluster_rows(raw) - - def official_network_status(self, city: str, raw: Dict[str, Any]) -> Dict[str, Any]: - rows = self.official_nearby_current(city, raw) - return { - "provider_code": self.provider_code, - "provider_label": self.provider_label, - "available": bool(rows), - "mode": "realtime_metar_cluster" if rows else "reference_only", - "row_count": len(rows), - } - - class IsraelImsNetworkProvider(CountryNetworkProvider): def __init__(self) -> None: super().__init__("israel_ims", "IMS Lod Airport") @@ -1161,8 +1141,6 @@ def get_country_network_provider(city: str) -> CountryNetworkProvider: return TurkeyMgmNetworkProvider() if provider_code == "korea_kma": return KoreaKmaNetworkProvider() - if provider_code == "russia_metar_cluster": - return RussiaStationWebNetworkProvider() if provider_code == "japan_jma": return JapanJmaNetworkProvider() if provider_code == "china_cma": diff --git a/src/data_collection/weather_sources.py b/src/data_collection/weather_sources.py index 111fc1cf..c013408e 100644 --- a/src/data_collection/weather_sources.py +++ b/src/data_collection/weather_sources.py @@ -55,7 +55,6 @@ class WeatherDataCollector(OpenMeteoCacheMixin, SettlementSourceMixin, MetarSour CITY_METAR_CLUSTERS = { "buenos aires": ["SAEZ", "SABE", "SADP", "SADF", "SADL", "SADJ"], "istanbul": ["LTFM", "LTBA", "LTFJ"], - "moscow": ["UUWW", "UUEE", "UUDD", "UUBW", "UUMO"], "london": ["EGLL", "EGLC", "EGKK", "EGSS", "EGGW"], "new york": ["KLGA", "KJFK", "KEWR", "KTEB", "KHPN"], "los angeles": ["KLAX", "KBUR", "KLGB", "KSNA", "KVNY"],