{
  "ok": true,
  "apiVersion": "local-a-file-v1",
  "dataRoot": "202406xiaodun",
  "fileCount": 33,
  "datasets": [
    {
      "key": "monthly",
      "label": "月统计",
      "requiresDate": false,
      "requiresHour": false,
      "fields": [
        {
          "key": "rainTotal",
          "label": "月雨量",
          "unit": "mm",
          "availableRows": 33
        }
      ]
    },
    {
      "key": "daily",
      "label": "日值",
      "requiresDate": true,
      "requiresHour": false,
      "fields": [
        {
          "key": "rainTotal",
          "label": "日降水",
          "unit": "mm",
          "availableRows": 865
        },
        {
          "key": "rain20To08",
          "label": "20-08降水",
          "unit": "mm",
          "availableRows": 821
        },
        {
          "key": "rain08To20",
          "label": "08-20降水",
          "unit": "mm",
          "availableRows": 813
        },
        {
          "key": "temperatureMax",
          "label": "最高气温",
          "unit": "C",
          "availableRows": 840
        },
        {
          "key": "temperatureMin",
          "label": "最低气温",
          "unit": "C",
          "availableRows": 840
        },
        {
          "key": "temperatureAvg",
          "label": "平均气温",
          "unit": "C",
          "availableRows": 840
        },
        {
          "key": "pressureMax",
          "label": "最高气压",
          "unit": "hPa",
          "availableRows": 420
        },
        {
          "key": "pressureMin",
          "label": "最低气压",
          "unit": "hPa",
          "availableRows": 420
        },
        {
          "key": "pressureAvg",
          "label": "平均气压",
          "unit": "hPa",
          "availableRows": 420
        },
        {
          "key": "humidityMin",
          "label": "最小湿度",
          "unit": "%",
          "availableRows": 417
        },
        {
          "key": "humidityAvg",
          "label": "平均湿度",
          "unit": "%",
          "availableRows": 416
        },
        {
          "key": "windSpeedAvg",
          "label": "平均风速",
          "unit": "m/s",
          "availableRows": 840
        },
        {
          "key": "windMaxSpeed",
          "label": "最大风速",
          "unit": "m/s",
          "availableRows": 837
        },
        {
          "key": "windMaxDirection",
          "label": "最大风向",
          "unit": "deg",
          "availableRows": 837
        },
        {
          "key": "gustMaxSpeed",
          "label": "极大风速",
          "unit": "m/s",
          "availableRows": 840
        },
        {
          "key": "gustMaxDirection",
          "label": "极大风向",
          "unit": "deg",
          "availableRows": 840
        }
      ]
    },
    {
      "key": "hourly",
      "label": "小时值",
      "requiresDate": true,
      "requiresHour": true,
      "fields": [
        {
          "key": "rain",
          "label": "小时降水",
          "unit": "mm",
          "availableRows": 23718
        },
        {
          "key": "temperature",
          "label": "小时气温",
          "unit": "C",
          "availableRows": 20160
        },
        {
          "key": "pressure",
          "label": "小时气压",
          "unit": "hPa",
          "availableRows": 10080
        },
        {
          "key": "humidity",
          "label": "小时湿度",
          "unit": "%",
          "availableRows": 9606
        },
        {
          "key": "windSpeed",
          "label": "小时风速",
          "unit": "m/s",
          "availableRows": 20160
        },
        {
          "key": "windDirection",
          "label": "小时风向",
          "unit": "deg",
          "availableRows": 15348
        },
        {
          "key": "hourlyMaxWindSpeed",
          "label": "小时最大风速",
          "unit": "m/s",
          "availableRows": 20160
        },
        {
          "key": "hourlyMaxWindDirection",
          "label": "小时最大风向",
          "unit": "deg",
          "availableRows": 15184
        }
      ]
    }
  ],
  "dates": [
    "2024-06-01",
    "2024-06-02",
    "2024-06-03",
    "2024-06-04",
    "2024-06-05",
    "2024-06-06",
    "2024-06-07",
    "2024-06-08",
    "2024-06-09",
    "2024-06-10",
    "2024-06-11",
    "2024-06-12",
    "2024-06-13",
    "2024-06-14",
    "2024-06-15",
    "2024-06-16",
    "2024-06-17",
    "2024-06-18",
    "2024-06-19",
    "2024-06-20",
    "2024-06-21",
    "2024-06-22",
    "2024-06-23",
    "2024-06-24",
    "2024-06-25",
    "2024-06-26",
    "2024-06-27",
    "2024-06-28",
    "2024-06-29",
    "2024-06-30"
  ],
  "hours": [
    21,
    22,
    23,
    0,
    1,
    2,
    3,
    4,
    5,
    6,
    7,
    8,
    9,
    10,
    11,
    12,
    13,
    14,
    15,
    16,
    17,
    18,
    19,
    20
  ],
  "endpoints": [
    {
      "path": "/api/weather-source-data",
      "method": "GET",
      "description": "按数据层、要素、日期/时次返回多站点快照",
      "params": [
        "dataset",
        "field",
        "date",
        "hour",
        "station",
        "limit"
      ],
      "example": "/api/weather-source-data?dataset=daily&field=rainTotal&date=2024-06-30"
    },
    {
      "path": "/api/records",
      "method": "GET",
      "description": "按数据层、要素、日期范围返回多站点长表记录",
      "params": [
        "dataset",
        "field",
        "date",
        "dateFrom",
        "dateTo",
        "hour",
        "station",
        "limit"
      ],
      "example": "/api/records?dataset=daily&field=rainTotal&dateFrom=2024-06-01&dateTo=2024-06-30"
    },
    {
      "path": "/api/station-series",
      "method": "GET",
      "description": "返回单站逐日或逐小时序列",
      "params": [
        "station",
        "dataset",
        "field",
        "date"
      ],
      "example": "/api/station-series?station=Q9301&dataset=daily&field=rainTotal"
    },
    {
      "path": "/api/stations",
      "method": "GET",
      "description": "返回站点目录、坐标、可解析字段和单站链接",
      "params": [],
      "example": "/api/stations"
    },
    {
      "path": "/api/layer",
      "method": "GET",
      "description": "返回站点点位和色斑格点图层数据",
      "params": [
        "dataset",
        "field",
        "date",
        "hour"
      ],
      "example": "/api/layer?dataset=daily&field=rainTotal&date=2024-06-30"
    },
    {
      "path": "/api/field-coverage",
      "method": "GET",
      "description": "返回字段覆盖率、缺测行数、来源块和样例值",
      "params": [],
      "example": "/api/field-coverage"
    },
    {
      "path": "/api/quality-report",
      "method": "GET",
      "description": "返回只读数据清洗质量报告，包含范围异常、QC异常、低覆盖率和结构提示",
      "params": [],
      "example": "/api/quality-report"
    },
    {
      "path": "/download/export.csv",
      "method": "GET",
      "description": "下载多站点快照 CSV，列为 Stid, Longitude, Latitude, Value",
      "params": [
        "dataset",
        "field",
        "date",
        "hour"
      ],
      "example": "/download/export.csv?dataset=daily&field=rainTotal&date=2024-06-30"
    },
    {
      "path": "/download/records.csv",
      "method": "GET",
      "description": "下载多站点长表记录 CSV",
      "params": [
        "dataset",
        "field",
        "date",
        "dateFrom",
        "dateTo",
        "hour",
        "station",
        "limit"
      ],
      "example": "/download/records.csv?dataset=hourly&field=rain&date=2024-06-30&hour=21"
    },
    {
      "path": "/download/station-series.csv",
      "method": "GET",
      "description": "下载单站逐日或逐小时序列 CSV",
      "params": [
        "station",
        "dataset",
        "field",
        "date"
      ],
      "example": "/download/station-series.csv?station=Q9301&dataset=hourly&field=temperature&date=2024-06-30"
    },
    {
      "path": "/download/stations.csv",
      "method": "GET",
      "description": "下载站点目录 CSV",
      "params": [],
      "example": "/download/stations.csv"
    },
    {
      "path": "/download/layer.svg",
      "method": "GET",
      "description": "下载当前要素的 SVG 色斑/站点图层",
      "params": [
        "dataset",
        "field",
        "date",
        "hour"
      ],
      "example": "/download/layer.svg?dataset=hourly&field=rain&date=2024-06-30&hour=21"
    },
    {
      "path": "/download/field-coverage.csv",
      "method": "GET",
      "description": "下载字段覆盖率清单 CSV",
      "params": [],
      "example": "/download/field-coverage.csv"
    },
    {
      "path": "/download/quality-report.csv",
      "method": "GET",
      "description": "下载数据清洗质量报告 CSV",
      "params": [],
      "example": "/download/quality-report.csv"
    }
  ],
  "notes": [
    "station 可使用 Q9301 或 AQ9301-202406.TXT",
    "daily 数据层需要 date；hourly 数据层需要 date 和 hour",
    "接口响应均带 CORS 头，可供本机其他端口页面调用"
  ]
}