Browse Source

modify some value null handler

master
xiaowuler 3 years ago
parent
commit
4a8980b0c5
  1. 39
      04.系统编码/Frontend/src/components/RamanLidar.vue
  2. 9
      04.系统编码/Frontend/src/model/heat-map-drawer.ts
  3. 24
      04.系统编码/Frontend/src/uilts/box-drawer.ts

39
04.系统编码/Frontend/src/components/RamanLidar.vue

@ -246,9 +246,10 @@ export default {
backscatterDrawer: null
}
let options = reactive({
currentTab: 'MWR',
// currentRegion: 'pk',
currentRegion: 'jn',
// currentTab: 'MWR',
currentTab: 'optical-property',
currentRegion: 'pk',
// currentRegion: 'jn',
currentElement: 'PBLH',
currentType: '边界层高度',
date: moment('2022-04-01 12:00:00').format('YYYY-MM-DD HH:mm:ss'),
@ -362,10 +363,11 @@ export default {
const onTabClick = (name) => {
// initTimeLine()
options.currentTab = name;
setTimeout(() => {
initEcharts(name)
reloadChangeData()
}, 500)
// setTimeout(() => {
// }, 500)
initEcharts(name)
reloadChangeData()
}
const reloadChangeData = () => {
@ -654,16 +656,21 @@ export default {
const drawOpticsExtinction = (result: CustomeArray<any>) => {
if (result.length != 12) return;
console.log(document.getElementById("extinction_optics_chart"))
options.loadingExtinctionOpticsStatus = false;
if (creates.opticsExtinctionDrawer != null) {
creates.opticsExtinctionDrawer.close();
}
console.log("extinction_optics_chart")
let matrix = converCloudRecognition(801, result, 'extinctionOptics');
console.log(matrix)
creates.opticsExtinctionDrawer = new HeatMapDrawer(800, 600, matrix, "extinction_optics_chart",'/km/sr');
console.log(options.timeArray)
creates.opticsExtinctionDrawer.setAxis(new CoordinateScale(options.timeArray), new CoordinateScale([0, 2000, 4000, 6000, 8000, 10000, 12000], true, true));
creates.opticsExtinctionDrawer.setColorChart(prepareExtinctionnColors());
creates.opticsExtinctionDrawer.draw();
console.log(1)
}
const drawSingleWatervapor = (result: CustomeArray<any>) => {
@ -788,8 +795,19 @@ export default {
return;
}
const interval = Math.round(11 / r.data[0].length);
for (let h = 0, len = r.data.length; h < len; h++) {
for (let h = 0, len = capacity; h < len; h++) {
let tempIndex = parseInt(index + "");
if (r.data[h] == null){
for(let i = 0; i < 11; i++){
tempIndex++;
if (matrix[tempIndex] == null) {
matrix[tempIndex] = new Array<Box>(capacity);
}
matrix[tempIndex][h] = new Box(tempIndex, h, 0, 0, NaN, h * 15, time, "米");
}
continue;
}
r.data[h] = r.data[h].slice(0, 11);
for (let i = 0, len = r.data[h].length; i < len; i++) {
for (let _i = 0; _i < interval; _i++) {
@ -822,9 +840,10 @@ export default {
}
setCloudRecognitionResult(capacity, time, response.message, response.data, result);
}).catch(error => {
setCloudRecognitionResult(capacity, time, error.message, null, result);
})
// .catch(error => {
// setCloudRecognitionResult(capacity, time, error.message, null, result);
// })
}
//

9
04.系统编码/Frontend/src/model/heat-map-drawer.ts

@ -41,7 +41,9 @@ export class HeatMapDrawer{
private unit: string;
private name: string;
constructor(width: number, height: number, values: any, id: string, unit: string = '', name: string = '') {
if (id == null) return;
if (id == null) {
throw new Error("heat map drawer id not allow null");
}
this.id = id;
this.width = width;
@ -127,7 +129,9 @@ export class HeatMapDrawer{
for(let dataIndex = 0, len = this.values.length, lastDataLen = len - 1; dataIndex < len; dataIndex++){
let value = this.values[dataIndex];
for(let lastInfoLen = this.values[0].length - 1, infoIndex = lastInfoLen; infoIndex >= 0; infoIndex--){
for(let lastInfoLen = value.length - 1, infoIndex = lastInfoLen; infoIndex >= 0; infoIndex--){
// if (value[infoIndex] == null) continue;
let x = startX + dataIndex * this.verticalScaleIntervalLength;
let y = startY + (this.borderHeight - infoIndex * this.horizontalScaleIntervalLength);
let width = this.verticalScaleIntervalLength;
@ -158,7 +162,6 @@ export class HeatMapDrawer{
this.values[dataIndex] = this.values[dataIndex].reverse();
}
this.createCalc(this.values);
}

24
04.系统编码/Frontend/src/uilts/box-drawer.ts

@ -579,8 +579,8 @@ export class Calc{
private readonly paddingRight: number;
private readonly paddingBottom: number;
private readonly boxWidth: number;
private readonly boxHeight: number;
private boxWidth: number;
private boxHeight: number;
private xMax: number = null;
private yMax: number = null;
@ -601,10 +601,25 @@ export class Calc{
this.boxes = boxes;
this.boxWidth = this.boxes[1][1].width;
this.boxHeight = this.boxes[1][1].height;
// this.setWidthAndHeight();
this.init();
}
private setWidthAndHeight() : void{
for(let row = 0, rowLen = this.boxes.length; row < rowLen; row++){
for(let col = 0, colLen = this.boxes[row].length; col < colLen; col++){
let box = this.boxes[row][col];
if (box == null) continue;
console.log(box)
this.boxWidth = box.width;
this.boxHeight = box.height;
return;
}
}
}
private init(): void{
this.xMax = this.width - this.paddingRight;
this.yMax = this.height - this.paddingBottom;
@ -619,7 +634,8 @@ export class Calc{
}
const indexX = parseInt(((x - this.startX) * 1.0 / this.boxWidth).toString());
const indexY = parseInt(((y - this.startY) * 1.0 / this.boxHeight).toString())
const indexY = parseInt(((y - this.startY) * 1.0 / this.boxHeight).toString());
console.log(indexX, indexY, this.boxes);
return this.boxes[indexX][indexY];
}
}
Loading…
Cancel
Save