windResourceWakeChartData.md 12 KB

4. 各图表数据格式与示例

4.1 A2 各机组风速分布(阶梯折线图)

用途:对比各机组风速概率密度曲线。
X 轴:风速 (m/s),当前前端固定 0 ~ 25,步长 0.5
Y 轴:概率密度,当前前端固定 0 ~ 0.24

字段说明

字段 类型 必填 说明
turbines array 机组列表
turbines[].engineId string 机组编号,用于图例
turbines[].displayName string 展示名,缺省用 engineId
turbines[].color string 折线颜色,缺省前端色板
turbines[].points array [风速, 概率密度] 二维点
points[][0] number 风速 m/s
points[][1] number 概率密度

示例

{
  "windSpeedDistribution": {
    "xAxis": { "min": 0, "max": 25, "interval": 5, "name": "风速 (m/s)" },
    "yAxis": { "min": 0, "max": 0.24, "interval": 0.05, "name": "概率密度" },
    "turbines": [
      {
        "engineId": "JH03",
        "displayName": "JH03",
        "points": [
          [0.0, 0.012],
          [0.5, 0.028],
          [1.0, 0.065],
          [3.0, 0.135],
          [5.0, 0.115],
          [7.0, 0.042]
        ]
      },
      {
        "engineId": "JH04",
        "displayName": "JH04",
        "points": [
          [0.0, 0.01],
          [0.5, 0.025],
          [3.0, 0.128],
          [5.5, 0.108]
        ]
      }
    ]
  }
}

映射到 ECharts series

// 每个 turbine 对应一条 series
{
  name: turbine.engineId,
  type: "line",
  step: "middle",
  data: turbine.points  // [[x,y], ...]
}

4.2 风向玫瑰图(极坐标堆叠柱状图)

用途:每台机组一张玫瑰图,展示 16 方位 × 5 个风速段的频次。
方位N → NE → E → SE → S → SW → W → NW(中间空槽位用于留白,共 16 格)。
风速段(固定顺序,与前端 ROSE_SPEED_BANDS 一致):

  1. 0~3 m/s
  2. 3~6 m/s
  3. 6~9 m/s
  4. 9~12 m/s
  5. >12 m/s

字段说明

字段 类型 必填 说明
speedBands string[] 风速段名称,默认见上
directions string[] 16 方位标签,默认含空字符串间隔
turbines array 每机组一组数据
turbines[].engineId string 机组编号(卡片标题)
turbines[].bands array 长度 5,每个风速段一条
bands[].band string 风速段名称
bands[].values number[] 长度 16,各方位频次/占比

示例(单机组)

{
  "windRose": {
    "speedBands": ["0~3 m/s", "3~6 m/s", "6~9 m/s", "9~12 m/s", ">12 m/s"],
    "directions": [
      "N",
      "",
      "NE",
      "",
      "E",
      "",
      "SE",
      "",
      "S",
      "",
      "SW",
      "",
      "W",
      "",
      "NW",
      ""
    ],
    "turbines": [
      {
        "engineId": "JH03",
        "bands": [
          {
            "band": "0~3 m/s",
            "values": [
              2.1, 1.8, 2.3, 1.5, 0.9, 0.6, 0.5, 0.4, 0.5, 0.6, 0.8, 1.2, 1.9,
              2.0, 2.2, 1.7
            ]
          },
          {
            "band": "3~6 m/s",
            "values": [
              1.9, 1.6, 2.0, 1.3, 0.8, 0.5, 0.4, 0.3, 0.4, 0.5, 0.7, 1.0, 1.7,
              1.8, 2.0, 1.5
            ]
          },
          {
            "band": "6~9 m/s",
            "values": [
              1.2, 1.0, 1.5, 0.9, 0.6, 0.4, 0.3, 0.2, 0.3, 0.4, 0.5, 0.8, 1.2,
              1.3, 1.5, 1.1
            ]
          },
          {
            "band": "9~12 m/s",
            "values": [
              0.5, 0.4, 0.6, 0.3, 0.2, 0.1, 0.1, 0.1, 0.1, 0.2, 0.2, 0.3, 0.5,
              0.5, 0.6, 0.4
            ]
          },
          {
            "band": ">12 m/s",
            "values": [
              0.2, 0.1, 0.2, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.2,
              0.2, 0.2, 0.2
            ]
          }
        ]
      },
      {
        "engineId": "JH04",
        "bands": []
      }
    ]
  }
}

4.3 风电场布局与机组日尺度发电量损失图(散点图 1)

用途:平面坐标展示机组位置,颜色/大小编码发电量损失百分比。
点结构[东西坐标(米), 南北坐标(米), 发电量损失(%)]

字段说明

字段 类型 必填 说明
title string 图表标题
xAxis object { min, max, name } 东西方向
yAxis object { min, max, name } 南北方向
visualMap object { min, max } 损失色带范围,默认 0~85
points array 散点列表
points[].engineId string 机组 ID(点标签)
points[].east number 东西坐标(米)
points[].north number 南北坐标(米)
points[].lossPercent number 发电量损失 %

示例

{
  "layoutLossScatter": {
    "title": "风电场布局与机组日尺度发电量损失图(2024-04-28)",
    "xAxis": { "min": 333200, "max": 333450, "name": "东西方向坐标(米)" },
    "yAxis": { "min": 4172500, "max": 4174000, "name": "南北方向坐标(米)" },
    "visualMap": { "min": 0, "max": 85 },
    "points": [
      {
        "engineId": "L9Xcm4u0",
        "east": 333330,
        "north": 4173350,
        "lossPercent": 7.8
      },
      {
        "engineId": "7xKAWgZW",
        "east": 333410,
        "north": 4172980,
        "lossPercent": 84.7
      },
      {
        "engineId": "3jyH154U",
        "east": 333270,
        "north": 4172520,
        "lossPercent": 0.4
      }
    ]
  }
}

ECharts 数据格式

{ name: "L9Xcm4u0", value: [333330, 4173350, 7.8] }

4.4 日尺度损失与可信度散点图(散点图 2)

用途:损失 % vs 可信度 %,用于区分高损失高/低可信区域。
点结构[发电量损失(%), 结果可信度(%)]

字段说明

字段 类型 必填 说明
title string 图表标题
xAxis object 损失轴 { min: 0, max: 90 }
yAxis object 可信度轴 { min: 65, max: 98 }
points array 散点列表
points[].engineId string 机组 ID
points[].lossPercent number 发电量损失 %
points[].confidencePercent number 结果可信度 %
points[].color string 点颜色(如 #4CAF50 高可信)

示例

{
  "lossConfidenceScatter": {
    "title": "日尺度损失与可信度散点图(2024-04-28)",
    "points": [
      {
        "engineId": "L9Xcm4u0",
        "lossPercent": 7.8,
        "confidencePercent": 92,
        "color": "#C0C0C0"
      },
      {
        "engineId": "7xKAWgZW",
        "lossPercent": 84.7,
        "confidencePercent": 87,
        "color": "#E85D5D"
      },
      {
        "engineId": "3jyH154U",
        "lossPercent": 0.4,
        "confidencePercent": 67,
        "color": "#E85D5D"
      },
      {
        "engineId": "3dORuyAV",
        "lossPercent": 3.4,
        "confidencePercent": 95,
        "color": "#4CAF50"
      }
    ]
  }
}

ECharts 数据格式

{ name: "L9Xcm4u0", value: [7.8, 92], itemStyle: { color: "#C0C0C0" } }

4.5 各机组日尺度发电量损失与相对 DEL 指标(双柱图)

用途:每台机组两根柱:发电量损失 %、相对 DEL 指标 %。

字段说明

字段 类型 必填 说明
title string 图表标题
items array 机组柱数据
items[].engineId string X 轴类目
items[].lossPercent number 发电量损失 %(左 Y 轴,0~100)
items[].delPercent number 相对 DEL 指标 %(右 Y 轴,0~400)

示例

{
  "lossDelBar": {
    "title": "各机组日尺度发电量损失与相对DEL指标(2024-04-28)",
    "items": [
      { "engineId": "L9Xcm4u0", "lossPercent": 7.8, "delPercent": 50.8 },
      { "engineId": "o23d6LBB", "lossPercent": 7.5, "delPercent": 54.6 },
      { "engineId": "I7EJ4nPt", "lossPercent": 59.6, "delPercent": 348.4 },
      { "engineId": "7xKAWgZW", "lossPercent": 84.7, "delPercent": 324.4 }
    ]
  }
}

4.6 尾流影响评估表格

用途:分页表格,展示单机尾流诊断结果与缩略图。

字段说明

字段 类型 必填 说明
name string 风机名称(展示用)
engineId string 风机 ID
affected string "yes" / "no" 或后端 isWake 映射 1→yes, 0→no
turbulence number 附加湍流强度
loss number 尾流速度损耗
confidence string 置信度展示,如 "90%"
image string 缩略图 URL

示例

{
  "turbineTable": [
    {
      "name": "风机01",
      "engineId": "JH03",
      "affected": "yes",
      "turbulence": 80,
      "loss": 2,
      "confidence": "90%",
      "image": "https://cdn.example.com/wake/JH03-thumb.png"
    },
    {
      "name": "风机02",
      "engineId": "JH04",
      "affected": "no",
      "turbulence": 90,
      "loss": 1,
      "confidence": "80%",
      "image": "https://cdn.example.com/wake/JH04-thumb.png"
    }
  ]
}

WakeTurbineVO 映射示例

{
  name: item.engineId,
  affected: item.isWake === 1 ? "yes" : "no",
  turbulence: item.turbulenceIntensity,
  loss: item.velocityDeficit,
  confidence: `${Math.round(item.confidentLevel * 100)}%`,
  image: item.wakeTurbinePath
}