wind-resource-wake-chart-data.md 17 KB

尾流分析页 — 图表数据 JSON 格式说明

对应前端目录:src/views/windResourceWake/
后端接口:POST /energy-manage-analyse-service/wakewindfarm/getWakeWindFarm
当前前端图表配置:utils/overviewChartOptions.jsutils/wakeChartOptions.js


1. 页面与图表一览

Tab 区块 图表类型 前端函数 / 组件
资源概览 A2 各机组风速分布 阶梯折线图(多机组) getWindDistOption()
资源概览 风向玫瑰图(每机组 1 张) 极坐标堆叠柱状图 getSingleWindRoseOption(index)
尾流情况 速度与损失分布(左) 散点图 + 连续色带 getScatter1Option()
尾流情况 速度与损失分布(右) 散点图 getScatter2Option()
尾流情况 尾流影响评估 双 Y 轴柱状图 getBarOption()
尾流情况 尾流影响评估 表格 + 缩略图 WrwWakeTable

2. 接口请求与响应(Swagger)

2.1 请求

POST /energy-manage-analyse-service/wakewindfarm/getWakeWindFarm?fieldCode={风场编号}&datatime={yyyy-MM-dd}
参数 位置 必填 说明
fieldCode query 平台内部风场编号
datatime query 查询日期;为空时默认昨天

2.2 响应包装

{
  "code": 200,
  "status": true,
  "msg": "success",
  "data": { }
}

2.3 dataWakeWindFarmVO(风场级)

字段 类型 说明
id number 主键
fieldId string 风场 ID
dataDate string (date-time) 数据日期(天)
windSpeedDistributionChart string 风速分布图资源路径(图片或 JSON 文件 URL)
wakeRoseDiagramPath string 风向玫瑰图资源路径
wakeDistributePath string 风场尾流影响分布图路径
wakeLossConfidentPath string 尾流亏损置信度散点图路径
velocityDeficitPath string 速度亏损柱状图路径
wakeDiscriptionPath string 尾流检测结果文本描述路径
getWakeTurbineList WakeTurbineVO[] 风机明细列表(表格 / 散点数据源)

2.4 WakeTurbineVO(风机级)

字段 类型 说明 前端表格列
engineId string 风机 ID 风机名称(可映射显示名)
fieldId string 风场 ID
dateResource string (date-time) 数据采集时间
isWake number 是否受尾流影响 0/1 是否受尾流影响
turbulenceIntensity number 湍流强度 附加湍流强度
velocityDeficit number 尾流速度亏损 尾流速度损耗
confidentLevel number 检测置信度(如 0.95 置信度(前端展示为百分比)
wakeTurbinePath number 单风机尾流影响图路径/标识 图片列

2.5 接口响应示例

{
  "code": 200,
  "status": true,
  "msg": "success",
  "data": {
    "id": 1001,
    "fieldId": "WOF047502757",
    "dataDate": "2024-04-28T00:00:00",
    "windSpeedDistributionChart": "/minio/wake/WOF047502757/2024-04-28/wind-speed-dist.json",
    "wakeRoseDiagramPath": "/minio/wake/WOF047502757/2024-04-28/wind-rose.json",
    "wakeDistributePath": "/minio/wake/WOF047502757/2024-04-28/wake-distribute.png",
    "wakeLossConfidentPath": "/minio/wake/WOF047502757/2024-04-28/loss-confident.json",
    "velocityDeficitPath": "/minio/wake/WOF047502757/2024-04-28/velocity-deficit.json",
    "wakeDiscriptionPath": "/minio/wake/WOF047502757/2024-04-28/description.txt",
    "getWakeTurbineList": [
      {
        "engineId": "JH03",
        "fieldId": "WOF047502757",
        "dateResource": "2024-04-28T00:00:00",
        "isWake": 1,
        "turbulenceIntensity": 80,
        "velocityDeficit": 2,
        "confidentLevel": 0.9,
        "wakeTurbinePath": "/minio/wake/turbine/JH03.png"
      },
      {
        "engineId": "JH04",
        "fieldId": "WOF047502757",
        "dateResource": "2024-04-28T00:00:00",
        "isWake": 0,
        "turbulenceIntensity": 45,
        "velocityDeficit": 1,
        "confidentLevel": 0.95,
        "wakeTurbinePath": "/minio/wake/turbine/JH04.png"
      }
    ]
  }
}

说明:Swagger 中部分图表字段为 *Path 字符串。若后端直接返回可访问的 JSON 文件,前端需二次请求该 URL 并按下文「图表专用 JSON」解析;若后端改为在接口内嵌 JSON,建议使用下文推荐的 charts 结构。


3. 推荐:前端图表专用 JSON 结构

以下为与当前 ECharts 实现对齐的结构化数据格式,便于后端一次性返回或写入 *Path 指向的 JSON 文件。

{
  "meta": {
    "fieldCode": "WOF047502757",
    "fieldId": "WOF047502757",
    "datatime": "2024-04-28",
    "titleDate": "2024-04-28"
  },
  "windSpeedDistribution": { },
  "windRose": { },
  "layoutLossScatter": { },
  "lossConfidenceScatter": { },
  "lossDelBar": { },
  "turbineTable": [ ]
}

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.010],
          [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
}

5. 完整联调示例(推荐一次性返回)

以下为前端可直接消费的聚合 JSON 示例(可放在 data.charts 扩展字段,或由 windSpeedDistributionChart 等 Path 指向的同结构文件提供)。

{
  "code": 200,
  "status": true,
  "msg": "success",
  "data": {
    "id": 1001,
    "fieldId": "WOF047502757",
    "dataDate": "2024-04-28T00:00:00",
    "windSpeedDistributionChart": null,
    "wakeRoseDiagramPath": null,
    "wakeDistributePath": null,
    "wakeLossConfidentPath": null,
    "velocityDeficitPath": null,
    "wakeDiscriptionPath": null,
    "getWakeTurbineList": [],
    "charts": {
      "meta": {
        "fieldCode": "WOF047502757",
        "datatime": "2024-04-28",
        "titleDate": "2024-04-28"
      },
      "windSpeedDistribution": {
        "turbines": [
          {
            "engineId": "JH03",
            "points": [[0, 0.01], [1, 0.04], [3, 0.13], [5, 0.11], [7, 0.03]]
          }
        ]
      },
      "windRose": {
        "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] }
            ]
          }
        ]
      },
      "layoutLossScatter": {
        "title": "风电场布局与机组日尺度发电量损失图(2024-04-28)",
        "points": [
          { "engineId": "JH03", "east": 333330, "north": 4173350, "lossPercent": 7.8 }
        ]
      },
      "lossConfidenceScatter": {
        "title": "日尺度损失与可信度散点图(2024-04-28)",
        "points": [
          { "engineId": "JH03", "lossPercent": 7.8, "confidencePercent": 92 }
        ]
      },
      "lossDelBar": {
        "title": "各机组日尺度发电量损失与相对DEL指标(2024-04-28)",
        "items": [
          { "engineId": "JH03", "lossPercent": 7.8, "delPercent": 50.8 }
        ]
      },
      "turbineTable": [
        {
          "name": "JH03",
          "engineId": "JH03",
          "affected": "yes",
          "turbulence": 80,
          "loss": 2,
          "confidence": "90%",
          "image": "/minio/wake/turbine/JH03.png"
        }
      ]
    }
  }
}

6. 前端对接建议

  1. 筛选参数:风场 fieldCode、日期 datatimeWrwFilterBar 保持一致。
  2. 优先顺序:若 data.charts 存在则直接渲染;否则按 *Path 拉取 JSON/图片。
  3. 表格数据:无 charts.turbineTable 时,用 getWakeTurbineList 按 §4.6 映射。
  4. 色阶与阈值(表格单元格样式,前端写死,无需接口返回):
    • 湍流强度:≥80 高、≥60 中、其余低
    • 速度损耗:≥3 高、≥2 中、其余低
    • 置信度:≥90% 高、≥80% 中、其余低

7. 相关源码索引

文件 说明
src/views/windResourceWake/utils/overviewChartOptions.js 风速分布、风向玫瑰图
src/views/windResourceWake/utils/wakeChartOptions.js 三张尾流散点/柱图
src/views/windResourceWake/data/mockData.js 当前 Mock 表格与机组名
src/views/windResourceWake/components/WrwOverviewTab.vue 资源概览 Tab
src/views/windResourceWake/components/WrwWakeTab.vue 尾流情况 Tab
swagger.json WakeWindFarmVO / WakeTurbineVO 定义
docs/API_DESIGN_REPORT_energy-manage-analyse.md 分析服务 API 总览