当前已验证路线是 Quotsoft 公开历史归档。维护者按日汇集中国环境监测总站发布的数据,提供全国站点单日 CSV,说明通常凌晨 2 点后有前一日完整文件。全国归档从 2014-05-13 起,可能缺日;它是第三方归档,不是总站官方历史 API。
本路线不需要注册、API key 或网盘登录。按日获取既有归档即可,不需要重新抓取实时平台,也不自动创建定时任务。
china_sites,而非城市汇总 china_cities。AIRMOSAIC_ASSETS_DIR 下新建 results/<project_id>/<run_id>/03_atmospheric_transport/pm25-stations/raw/;每次使用新任务目录,保留已有文件。china_sites_20240101.csv 到上述 raw 目录。其他日期替换为八位 YYYYMMDD,先核对归档范围。date,hour,type、其余站点编码、目标日期及实际小时标签;拒绝重复列、列数异常和重复 (date,hour,type) 行。AIRMOSAIC_CONFIG_DIR/pm25-stations/,运行摘要放工作区的 results/<project_id>/<run_id>/records/<tool_id>/record.json。程序调用使用同一个公开 HTTPS URL。本次验证使用 Python requests,一个 GET、连接超时 15 秒、读取超时 60 秒、响应上限 20 MiB、不自动跟随重定向或重试;保留 TLS 验证。HTTP 状态异常、HTML 或文件格式不符时终止,不能当成缺测值继续处理。当前没有注册下载工具 ID,不使用 run-tool pm25-station-acquisition。
type == "PM2.5";PM2.5_24h 是另一平均时段,AQI 是指数,均不混入。date、hour、来源、污染物、1h 平均时段及 µg/m³ 单位。(source, station_id, date_raw, hour_raw, pollutant, averaging_period),并核对记录数等于“所选时次 × 站点列数”。每站有效小时数按非缺失唯一时次统计。processed/pm25_hourly_long.csv,检查原文件 SHA-256 未改变。本来源说明未明确时区及小时标签的区间起止。先保留原标签并标记时间语义待核实,不生成 UTC 时间或日均值。站点表应有适用日期、编码、名称、城市、坐标和版本;尚未取得适用历史表时保留站号,元数据版本标为未提供,不填入当前坐标。
需要继续计算日均时,先按数据说明确认时间和质量规则。采用 GB 3095 的 20 小时门槛时,按有效唯一观测小时计数,不足的日均值置缺失并保留原因;本样例未执行日均汇总。
日期:2026-10-26;以下操作时间为北京时间(UTC+8)。
| 操作 | 时间 | 结果 |
|---|---|---|
| 开始单日获取 | 18:24:04 | 全国站点,数据日期 2024-01-01 |
| 文件取得 | 18:24:07 | HTTP 200,1,888,817 字节,UTF-8 CSV |
| 字段和小时整理检查 | 18:24:07 | 360 行、2,026 个站点列;小时 PM2.5 有 0–23 共 24 个标签 |
| 长表核对 | 18:24:07 | 48,624 条记录;39,604 条有值,9,020 条缺失;无重复观测行、无负值 |
360 个站点列在本日小时 PM2.5 中全部为空,不能据此判定这些站点永久停用。历史站点表关联和时间语义尚待补齐;当前只交付站号长表,不做坐标匹配或日均统计。
扩大获取前先确定日期范围、站点范围和请求数量;缺日单列,已有文件先检查后复用,避免重复下载。不因例子可用就扫描全部年份。
HeQinWill/CNEMC是另一公开逐小时采集与归档参考。其字段、覆盖和修订规则应独立核对,不能无缝拼接本例;本项目只核对了说明,没有运行其采集代码。来源代码中关闭证书校验或固定机器路径的写法不应照搬,定时任务也需另行授权。完整比较见来源说明。