From a04f45b262bd9d8012ea4f3a048dee34fb0c808e Mon Sep 17 00:00:00 2001 From: wyq Date: Tue, 6 Sep 2022 19:29:43 +0800 Subject: [PATCH] support calibration table data in AWX data format --- .../data/meteodata/awx/AWXDataInfo.java | 16 +++++++++++++--- meteoinfo-lab/milconfig.xml | 4 ++-- meteoinfo-map/config.xml | 2 +- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/meteoinfo-data/src/main/java/org/meteoinfo/data/meteodata/awx/AWXDataInfo.java b/meteoinfo-data/src/main/java/org/meteoinfo/data/meteodata/awx/AWXDataInfo.java index d3075a3f..3995b919 100644 --- a/meteoinfo-data/src/main/java/org/meteoinfo/data/meteodata/awx/AWXDataInfo.java +++ b/meteoinfo-data/src/main/java/org/meteoinfo/data/meteodata/awx/AWXDataInfo.java @@ -877,6 +877,7 @@ public class AWXDataInfo extends DataInfo implements IGridDataInfo, IStationData private GridData getGridData_1() throws IOException { Object[] rawData = getImageData(); byte[] imageBytes = (byte[]) rawData[0]; + int[] calibration = (int[]) rawData[1]; //Get grid data int i, j; @@ -893,9 +894,18 @@ public class AWXDataInfo extends DataInfo implements IGridDataInfo, IStationData } double[][] gData = new double[yNum][xNum]; - for (i = 0; i < yNum; i++) { - for (j = 0; j < xNum; j++) { - gData[yNum - i - 1][j] = DataConvert.byte2Int(imageBytes[i * xNum + j]); + if (calibration.length > 0) { + for (i = 0; i < yNum; i++) { + for (j = 0; j < xNum; j++) { + gData[yNum - i - 1][j] = calibration[DataConvert.byte2Int( + imageBytes[i * xNum + j]) * 4] * 0.01f; + } + } + } else { + for (i = 0; i < yNum; i++) { + for (j = 0; j < xNum; j++) { + gData[yNum - i - 1][j] = DataConvert.byte2Int(imageBytes[i * xNum + j]); + } } } diff --git a/meteoinfo-lab/milconfig.xml b/meteoinfo-lab/milconfig.xml index d93c6755..c801a26a 100644 --- a/meteoinfo-lab/milconfig.xml +++ b/meteoinfo-lab/milconfig.xml @@ -22,13 +22,13 @@ - + - + diff --git a/meteoinfo-map/config.xml b/meteoinfo-map/config.xml index 9dd5c21e..37eb9d74 100644 --- a/meteoinfo-map/config.xml +++ b/meteoinfo-map/config.xml @@ -1,6 +1,6 @@ - +