用途:对比各机组风速概率密度曲线。
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]
]
}
]
}
}
// 每个 turbine 对应一条 series
{
name: turbine.engineId,
type: "line",
step: "middle",
data: turbine.points // [[x,y], ...]
}
用途:每台机组一张玫瑰图,展示 16 方位 × 5 个风速段的频次。
方位:N → NE → E → SE → S → SW → W → NW(中间空槽位用于留白,共 16 格)。
风速段(固定顺序,与前端 ROSE_SPEED_BANDS 一致):
0~3 m/s3~6 m/s6~9 m/s9~12 m/s>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": []
}
]
}
}
用途:平面坐标展示机组位置,颜色/大小编码发电量损失百分比。
点结构:[东西坐标(米), 南北坐标(米), 发电量损失(%)]
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
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
}
]
}
}
{ name: "L9Xcm4u0", value: [333330, 4173350, 7.8] }
用途:损失 % 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"
}
]
}
}
{ name: "L9Xcm4u0", value: [7.8, 92], itemStyle: { color: "#C0C0C0" } }
用途:每台机组两根柱:发电量损失 %、相对 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 }
]
}
}
用途:分页表格,展示单机尾流诊断结果与缩略图。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
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
}