| 
						
						
							
								
							
						
						
					 | 
					@ -103,6 +103,11 @@ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					          <div class="picture"> | 
					 | 
					 | 
					          <div class="picture"> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            <h2 class="title">边界层特征值</h2> | 
					 | 
					 | 
					            <h2 class="title">边界层特征值</h2> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            <div v-loading="loadingBackscatterStatus" | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                 style="width: 100%;" | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                 element-loading-text="加载中"> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            <canvas id='backscatter_chart'></canvas> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            </div> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					          </div> | 
					 | 
					 | 
					          </div> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        </div> | 
					 | 
					 | 
					        </div> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -187,7 +192,8 @@ export default { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      singleWatervaporDrawer: HeatMapDrawer, | 
					 | 
					 | 
					      singleWatervaporDrawer: HeatMapDrawer, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      cloudSolDrawer: HeatMapDrawer, | 
					 | 
					 | 
					      cloudSolDrawer: HeatMapDrawer, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      pm2Point5Drawer: HeatMapDrawer, | 
					 | 
					 | 
					      pm2Point5Drawer: HeatMapDrawer, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					      pm10Drawer: HeatMapDrawer | 
					 | 
					 | 
					      pm10Drawer: HeatMapDrawer, | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      backscatterDrawer: HeatMapDrawer, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    } = { | 
					 | 
					 | 
					    } = { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      boundaryLayerHeight: null, | 
					 | 
					 | 
					      boundaryLayerHeight: null, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      cloudsHeight: null, | 
					 | 
					 | 
					      cloudsHeight: null, | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -200,7 +206,8 @@ export default { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      opticsExtinctionDrawer: null, | 
					 | 
					 | 
					      opticsExtinctionDrawer: null, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      cloudSolDrawer: null, | 
					 | 
					 | 
					      cloudSolDrawer: null, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      pm2Point5Drawer: null, | 
					 | 
					 | 
					      pm2Point5Drawer: null, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					      pm10Drawer: null | 
					 | 
					 | 
					      pm10Drawer: null, | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      backscatterDrawer: null | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    } | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    let options = reactive({ | 
					 | 
					 | 
					    let options = reactive({ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      currentTab: 'MWR', | 
					 | 
					 | 
					      currentTab: 'MWR', | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -232,6 +239,7 @@ export default { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      loadingCloudRecognitionStatus: false, | 
					 | 
					 | 
					      loadingCloudRecognitionStatus: false, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      loadingExtinctionStatus: false, | 
					 | 
					 | 
					      loadingExtinctionStatus: false, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      loadingWaterVaporStatus: false, | 
					 | 
					 | 
					      loadingWaterVaporStatus: false, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      loadingBackscatterStatus: false | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    }) | 
					 | 
					 | 
					    }) | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    onMounted(() => { | 
					 | 
					 | 
					    onMounted(() => { | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -304,19 +312,20 @@ export default { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      } else if (options.currentTab === 'optical-property') { | 
					 | 
					 | 
					      } else if (options.currentTab === 'optical-property') { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        // extinctionApi() | 
					 | 
					 | 
					        // extinctionApi() | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        // LidarRatioApi() | 
					 | 
					 | 
					        // LidarRatioApi() | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        // reloadCloudRecognition(801, 'extinction', drawOpticsExtinction); | 
					 | 
					 | 
					        reloadCloudRecognition('extinctionOptics', 801, 'extinction', drawOpticsExtinction); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					      } else if (options.currentTab === 'aerosol-product') { | 
					 | 
					 | 
					      } else if (options.currentTab === 'aerosol-product') { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        // boundaryLayerHeightDate() | 
					 | 
					 | 
					        // boundaryLayerHeightDate() | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        reloadChartsRecognition('pblh', drawCharts) | 
					 | 
					 | 
					        reloadChartsRecognition('pblh', drawCharts) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        reloadCloudRecognition(201, 'pm2_5', drawPm2Point5); | 
					 | 
					 | 
					        reloadCloudRecognition('pm2_5', 201, 'pm2_5', drawPm2Point5); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        // reloadCloudRecognition(201, 'pm10', drawPm10); | 
					 | 
					 | 
					        reloadCloudRecognition('pm2_5', 201, 'pm10', drawPm10); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        reloadCloudRecognition('backscatter', 201, 'backscatter', drawBackscatter) | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        // boundaryCharacteristicApi() | 
					 | 
					 | 
					        // boundaryCharacteristicApi() | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        //aerosolApi() | 
					 | 
					 | 
					        //aerosolApi() | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      } else if (options.currentTab === 'BingoCloud') { | 
					 | 
					 | 
					      } else if (options.currentTab === 'BingoCloud') { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        //layerTypeApi() | 
					 | 
					 | 
					        //layerTypeApi() | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        // cloudsHeightApi() | 
					 | 
					 | 
					        // cloudsHeightApi() | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        // cloudTopHeightApi() | 
					 | 
					 | 
					        // cloudTopHeightApi() | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        // reloadCloudRecognition(801, 'layertype', drawCloudSol); | 
					 | 
					 | 
					        reloadCloudRecognition('cloudSol', 801, 'layertype', drawCloudSol); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					      } else if (options.currentTab === 'MWR') { | 
					 | 
					 | 
					      } else if (options.currentTab === 'MWR') { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        //waterVapourApi() | 
					 | 
					 | 
					        //waterVapourApi() | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        // reloadCloudRecognition(801, 'layertype', drawCloudRecognition); | 
					 | 
					 | 
					        // reloadCloudRecognition(801, 'layertype', drawCloudRecognition); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -325,6 +334,55 @@ export default { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      } | 
					 | 
					 | 
					      } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    } | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					    const preprocessing = (type: string) => { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      switch(type) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        case 'layertype': | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          options.loadingCloudRecognitionStatus = true; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          clearHeatMapDrawer(creates.cloudRecognitionDrawer); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          break; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        case 'extinction': | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          options.loadingExtinctionStatus = true; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          clearHeatMapDrawer(creates.extinctionDrawer); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          break; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        case 'watervapor': | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          options.loadingWaterVaporStatus = true; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          clearHeatMapDrawer(creates.watervaporDrawer); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          break; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        case 'cloudSol': | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          options.loadingCloudSolStatus = true; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          clearHeatMapDrawer(creates.cloudSolDrawer); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          break; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        case 'pm2_5': | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          options.loadingPmStatus = true; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          clearHeatMapDrawer(creates.pm2Point5Drawer); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          break;  | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        case 'pm10': | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          options.loadingPmStatus = true; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          clearHeatMapDrawer(creates.pm10Drawer); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          break; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        case 'extinctionOptics': | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          options.loadingExtinctionOpticsStatus = true; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          clearHeatMapDrawer(creates.opticsExtinctionDrawer); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          break; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        case 'singleWatervapor': | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          options.loadingWaterVaporSingleStatus = true; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          clearHeatMapDrawer(creates.singleWatervaporDrawer); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          break; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        case 'backscatter': | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          options.loadingBackscatterStatus = true; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          clearHeatMapDrawer(creates.backscatterDrawer); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          break; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        default: | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          throw new Error("无效的type类型"); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					    const clearHeatMapDrawer = (drawer: HeatMapDrawer) => { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      if (drawer == null) return; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      drawer.close(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      drawer = null; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    const cancelRequest = () => { | 
					 | 
					 | 
					    const cancelRequest = () => { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      axiosStore._axiosPromiseCancel.forEach(e=>{ | 
					 | 
					 | 
					      axiosStore._axiosPromiseCancel.forEach(e=>{ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					          e && e() | 
					 | 
					 | 
					          e && e() | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -332,8 +390,31 @@ export default { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      axiosStore._axiosPromiseCancel = []; | 
					 | 
					 | 
					      axiosStore._axiosPromiseCancel = []; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    } | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					    const drawBackscatter = (result: CustomeArray<any>) => { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      if (result.length != 24) return; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      options.loadingBackscatterStatus = false; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      if (creates.backscatterDrawer != null){ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        creates.backscatterDrawer.close(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      let matrix = converCloudRecognition(201, result); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      creates.backscatterDrawer = new HeatMapDrawer(800, 600, matrix, "backscatter_chart", '米'); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      creates.backscatterDrawer.setAxis(new CoordinateScale([0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24]), new CoordinateScale([0, 1000, 2000, 3000], true, true)); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      creates.backscatterDrawer.setColorChart(prepareBackscatterColors()); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      creates.backscatterDrawer.draw(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					    const prepareBackscatterColors = () => { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      return new ColorChart(['#8F0000','#E00000', '#FF1F00', '#FF6600', '#FF9900', '#FFE000', '#EBFF14', '#99FF66', '#66FF99', '#1FFFE0', | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        '#00E0FF', '#0099FF', '#005CFF', '#0029FF', '#0000E0', '#000099'], | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        [-4, -4.25, -4.5, -4.75, -5, -5.25, -5.5, -5.75, -6, -6.25, -6.5, -6.75, -7, -7.25, -7.5, -7.75, -8] | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      ); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    const drawPm2Point5 = (result: CustomeArray<any>) => { | 
					 | 
					 | 
					    const drawPm2Point5 = (result: CustomeArray<any>) => { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      if (result.length != 24) return; | 
					 | 
					 | 
					      if (result.length != 24) return; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      options.loadingPmStatus = false; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      if (creates.pm2Point5Drawer != null){ | 
					 | 
					 | 
					      if (creates.pm2Point5Drawer != null){ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        creates.pm2Point5Drawer.close(); | 
					 | 
					 | 
					        creates.pm2Point5Drawer.close(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      } | 
					 | 
					 | 
					      } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -347,6 +428,7 @@ export default { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    const drawPm10 = (result: CustomeArray<any>) => { | 
					 | 
					 | 
					    const drawPm10 = (result: CustomeArray<any>) => { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      if (result.length != 24) return; | 
					 | 
					 | 
					      if (result.length != 24) return; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      options.loadingPmStatus = false; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      if (creates.pm10Drawer != null){ | 
					 | 
					 | 
					      if (creates.pm10Drawer != null){ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        creates.pm10Drawer.close(); | 
					 | 
					 | 
					        creates.pm10Drawer.close(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      } | 
					 | 
					 | 
					      } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -385,6 +467,7 @@ export default { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    const drawCloudSol = (result: CustomeArray<any>) => { | 
					 | 
					 | 
					    const drawCloudSol = (result: CustomeArray<any>) => { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      if (result.length != 24) return; | 
					 | 
					 | 
					      if (result.length != 24) return; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      options.loadingCloudSolStatus = false; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      if (creates.cloudSolDrawer != null){ | 
					 | 
					 | 
					      if (creates.cloudSolDrawer != null){ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        creates.cloudSolDrawer.close(); | 
					 | 
					 | 
					        creates.cloudSolDrawer.close(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      } | 
					 | 
					 | 
					      } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -399,6 +482,7 @@ export default { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    const drawOpticsExtinction = (result: CustomeArray<any>) => { | 
					 | 
					 | 
					    const drawOpticsExtinction = (result: CustomeArray<any>) => { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      if (result.length != 24) return; | 
					 | 
					 | 
					      if (result.length != 24) return; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      options.loadingExtinctionOpticsStatus = false; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      if (creates.opticsExtinctionDrawer != null){ | 
					 | 
					 | 
					      if (creates.opticsExtinctionDrawer != null){ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        creates.opticsExtinctionDrawer.close(); | 
					 | 
					 | 
					        creates.opticsExtinctionDrawer.close(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      } | 
					 | 
					 | 
					      } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -413,6 +497,7 @@ export default { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    const drawSingleWatervapor = (result: CustomeArray<any>) => { | 
					 | 
					 | 
					    const drawSingleWatervapor = (result: CustomeArray<any>) => { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      if (result.length != 24) return; | 
					 | 
					 | 
					      if (result.length != 24) return; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      options.loadingWaterVaporSingleStatus = false; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      if (creates.singleWatervaporDrawer != null){ | 
					 | 
					 | 
					      if (creates.singleWatervaporDrawer != null){ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        creates.singleWatervaporDrawer.close(); | 
					 | 
					 | 
					        creates.singleWatervaporDrawer.close(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      } | 
					 | 
					 | 
					      } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -427,6 +512,7 @@ export default { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    const drawWatervapor = (result: CustomeArray<any>) => { | 
					 | 
					 | 
					    const drawWatervapor = (result: CustomeArray<any>) => { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      if (result.length != 24) return; | 
					 | 
					 | 
					      if (result.length != 24) return; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      options.loadingWaterVaporStatus = false; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      if (creates.watervaporDrawer != null){ | 
					 | 
					 | 
					      if (creates.watervaporDrawer != null){ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        creates.watervaporDrawer.close(); | 
					 | 
					 | 
					        creates.watervaporDrawer.close(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      } | 
					 | 
					 | 
					      } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -448,6 +534,7 @@ export default { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    const drawExtinction = (result: CustomeArray<any>) => { | 
					 | 
					 | 
					    const drawExtinction = (result: CustomeArray<any>) => { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      if (result.length != 24) return; | 
					 | 
					 | 
					      if (result.length != 24) return; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      options.loadingExtinctionStatus = false; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      if (creates.extinctionDrawer != null){ | 
					 | 
					 | 
					      if (creates.extinctionDrawer != null){ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        creates.extinctionDrawer.close(); | 
					 | 
					 | 
					        creates.extinctionDrawer.close(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      } | 
					 | 
					 | 
					      } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -466,7 +553,8 @@ export default { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      ); | 
					 | 
					 | 
					      ); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    } | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					    const reloadCloudRecognition = (capacity: number, element: string, callback: any) => { | 
					 | 
					 | 
					    const reloadCloudRecognition = (type: string, capacity: number, element: string, callback: any) => { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      preprocessing(type); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      let result = new CustomeArray(callback); | 
					 | 
					 | 
					      let result = new CustomeArray(callback); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      let time = moment(options.date); | 
					 | 
					 | 
					      let time = moment(options.date); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      for(let index = 0; index < 24; index ++){ | 
					 | 
					 | 
					      for(let index = 0; index < 24; index ++){ | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -486,6 +574,7 @@ export default { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    const drawCloudRecognition = (result: CustomeArray<any>) => { | 
					 | 
					 | 
					    const drawCloudRecognition = (result: CustomeArray<any>) => { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      if (result.length != 24) return; | 
					 | 
					 | 
					      if (result.length != 24) return; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      options.loadingCloudRecognitionStatus = false; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      if (creates.cloudRecognitionDrawer != null){ | 
					 | 
					 | 
					      if (creates.cloudRecognitionDrawer != null){ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        creates.cloudRecognitionDrawer.close(); | 
					 | 
					 | 
					        creates.cloudRecognitionDrawer.close(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      } | 
					 | 
					 | 
					      } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -517,7 +606,7 @@ export default { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            } | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            for(let y = 0; y < capacity; y++){ | 
					 | 
					 | 
					            for(let y = 0; y < capacity; y++){ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					              matrix[index][y] = new Box(index, y, 0, 0, 0, y * 15, time, "米");      | 
					 | 
					 | 
					              matrix[index][y] = new Box(index, y, 0, 0, NaN, y * 15, time, "米");      | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					            } | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					          } | 
					 | 
					 | 
					          } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					          return; | 
					 | 
					 | 
					          return; | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -532,7 +621,10 @@ export default { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					              if (matrix[tempIndex] == null){ | 
					 | 
					 | 
					              if (matrix[tempIndex] == null){ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                matrix[tempIndex] = new Array<Box>(capacity); | 
					 | 
					 | 
					                matrix[tempIndex] = new Array<Box>(capacity); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					              } | 
					 | 
					 | 
					              } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					              matrix[tempIndex][h] = new Box(tempIndex, h, 0, 0, r.data[h][i], i * 15, time, "米");  | 
					 | 
					 | 
					
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					              let value = r.data[h][i]; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					              value = value == null ? NaN : value; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					              matrix[tempIndex][h] = new Box(tempIndex, h, 0, 0,  value, h * 15, time, "米");  | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            } | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					          } | 
					 | 
					 | 
					          } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					        } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -1088,6 +1180,9 @@ export default { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					          #pm10_chart { | 
					 | 
					 | 
					          #pm10_chart { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            transform: scale(0.5,0.4) translate(-314px, -475px); | 
					 | 
					 | 
					            transform: scale(0.5,0.4) translate(-314px, -475px); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					          } | 
					 | 
					 | 
					          } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          #backscatter_chart { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            transform: scale(0.6,0.85) translateX(-260px); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					          #cloud_sol_chart { | 
					 | 
					 | 
					          #cloud_sol_chart { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            transform: scale(0.6,0.85) translate(-31%, -12px); | 
					 | 
					 | 
					            transform: scale(0.6,0.85) translate(-31%, -12px); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					         } | 
					 | 
					 | 
					         } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					
  |