北京经济技术开发区经开区虚拟城市项目-【前端】-Web
Jin Lei
2023-12-23 5df6240f6cd274e698d1e6358443364d543c126c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
 
var list = ["yz_202312210030.dat",
    "yz_202312210100.dat",
    "yz_202312210130.dat",
    "yz_202312210200.dat",
    "yz_202312210230.dat",
    "yz_202312210300.dat",
    "yz_202312210330.dat",
    "yz_202312210400.dat",
    "yz_202312210430.dat",
    "yz_202312210500.dat",
    "yz_202312210530.dat",
    "yz_202312210600.dat",
    "yz_202312210630.dat",
    "yz_202312210700.dat",
    "yz_202312210730.dat",
    "yz_202312210800.dat",
    "yz_202312210830.dat",
    "yz_202312210900.dat",
    "yz_202312210930.dat",
    "yz_202312211000.dat",
    "yz_202312211030.dat",
    "yz_202312211100.dat",
    "yz_202312211130.dat",
    "yz_202312211200.dat",
    "yz_202312211230.dat",
    "yz_202312211300.dat",
    "yz_202312211330.dat",
    "yz_202312211400.dat",
    "yz_202312211430.dat",
    "yz_202312211500.dat",
    "yz_202312211530.dat",
    "yz_202312211600.dat",
    "yz_202312211630.dat",
    "yz_202312211700.dat",
    "yz_202312211730.dat",
    "yz_202312211800.dat",
    "yz_202312211830.dat",
    "yz_202312211900.dat",
    "yz_202312211930.dat",
    "yz_202312212000.dat",
    "yz_202312212030.dat",
    "yz_202312212100.dat",
    "yz_202312212130.dat",
    "yz_202312212200.dat",
    "yz_202312212230.dat",
    "yz_202312212300.dat",
    "yz_202312212330.dat",
    "yz_202312210000.dat"
];
var signallingData = {
    extent: {
        minx: 999,
        miny: 999,
        maxx: -999,
        maxy: -999,
        dx: 999,
        dy: 999,
    },
    pixels: [],
    positions: [],
    values: [],
    count: [],
    canvas: [],
    heatmap: [],
    dataSource:null,
    heatmapEntity: null,
    posFinish: false,
    valueFinish: 0,
    selectid: 0,
    color: null,
};
 
 
function getData(id, callback) {
    fetch("./static/Signalling/data/" + list[id]).then(response => response.arrayBuffer()).then(data => {
        var dataView = new DataView(data);
        signallingData.values[id] = [];
        for (var i = 0; i < dataView.byteLength; i += 2) {
            let value = dataView.getInt16(i, true);
            signallingData.values[id].push(value);
        }
        signallingData.valueFinish++;
        if (signallingData.valueFinish == list.length) {
            dataDraw(callback);
        }
    });
 
}
 
function getDatas(callback) {
    signallingData.valueFinish = 0;
    for (let i = 0; i < list.length; i++) {
 
        getData(i, callback);
    }
}
function updataExtent(x, y) {
    if (signallingData.extent.minx > x) {
        signallingData.extent.minx = x;
    }
    if (signallingData.extent.miny > y) {
        signallingData.extent.miny = y;
    }
    if (signallingData.extent.maxx < x) {
        signallingData.extent.maxx = x;
    }
    if (signallingData.extent.maxy < y) {
        signallingData.extent.maxy = y;
    }
    signallingData.extent.dx = signallingData.extent.maxx - signallingData.extent.minx;
    signallingData.extent.dy = signallingData.extent.maxy - signallingData.extent.miny;
}
function requestData(callback) {
    fetch("./static/Signalling/data/positions.dat").then(response => response.arrayBuffer()).then(data => {
        var dataView = new DataView(data);
        for (var i = 0; i < dataView.byteLength; i += 8) {
            let x = dataView.getFloat32(i, true);
            let y = dataView.getFloat32(i + 4, true);
            updataExtent(x, y);
            signallingData.positions.push([x, y]);
        }
        signallingData.posFinish = true;
 
        getDatas(callback);
    });
}