feat: 新增雷达图

This commit is contained in:
yarnom 2025-09-21 22:24:57 +08:00
parent df7358530f
commit 317e12900a

View File

@ -676,7 +676,21 @@
const data = await res.json();
const meta = data.meta || {};
const images = data.images || {};
infoEl.textContent = '时间: ' + (meta.timestamp_local || '未知');
var ts = meta.timestamp_local || '未知';
var z = meta.z != null ? meta.z : null;
var y = meta.y != null ? meta.y : null;
var x = meta.x != null ? meta.x : null;
var b = meta.bounds || {};
var west = (typeof b.west === 'number') ? b.west : null;
var south = (typeof b.south === 'number') ? b.south : null;
var east = (typeof b.east === 'number') ? b.east : null;
var north = (typeof b.north === 'number') ? b.north : null;
var html = '<div class="text-sm">'
+ '<div>时间(南宁):<span class="font-medium">'+ts+'</span></div>'
+ (z!=null && y!=null && x!=null ? ('<div>Tile z/y/x<span class="font-mono">'+z+'/'+y+'/'+x+'</span></div>') : '')
+ ((west!=null && south!=null && east!=null && north!=null) ? ('<div>CMA BIN 边界:<span class="font-mono">['+west.toFixed(4)+', '+south.toFixed(4)+'] ~ ['+east.toFixed(4)+', '+north.toFixed(4)+']</span></div>') : '')
+ '</div>';
infoEl.innerHTML = html;
window.RadarLatestImages = images;
setRadarImage('china');
bindRadarTabs();
@ -720,7 +734,7 @@
window.RadarLatestGrid = data;
renderPlotlyHeat(data);
renderClustersPanel();
renderMethodNote();
//renderMethodNote();
renderWindResults();
}
@ -877,10 +891,10 @@ function renderMethodNote(){
root.appendChild(sec);
parent = sec;
}
var html = '<div class="text-sm text-gray-700 mb-2">风场查询结果(彩云 10m 实况)</div>';
var html = '<div class="text-sm text-gray-700 mb-2">10m</div>';
// cluster summary
if (clusters.length) {
html += '<div class="text-xs text-gray-700 mb-2">云团汇总</div>';
html += '<div class="text-xs text-gray-700 mb-2">云团:</div>';
html += '<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3 mb-3">';
clusters.forEach(function(cl){
html += '<div class="border border-gray-200 rounded p-2 text-xs text-gray-700">'
@ -896,7 +910,7 @@ function renderMethodNote(){
(cands||[]).forEach(function(co){ candByCluster[co.cluster_id] = co; });
var comings = (clusters||[]).filter(function(cl){ return cl.coming; });
if (comings.length) {
html += '<div class="text-xs text-gray-700 mb-2">朝向云团(极坐标计算明细)</div>';
html += '<div class="text-xs text-gray-700 mb-2">朝向云团</div>';
comings.forEach(function(cl){
var co = candByCluster[cl.cluster_id] || {};
var w = co.wind || {};