张洋洋
2025-02-10 ff6cbe7e5cde65583c6fef4782eba114c1ea06af
src/main/java/com/se/simu/utils/ZarrUtils.java
@@ -24,7 +24,9 @@
            // 定义 Zarr 数组的维度
            int[] shape = {numRows, numColumns};
            // 定义分块大小
            int[] chunks = {1440};
            int check=stationRainVos.size();
            int[] chunks = {check};
            int[] offset = {0};
            // 创建 Zarr 数组
            ArrayParams params = new ArrayParams();
            params.shape(chunks);
@@ -32,11 +34,14 @@
            params.dataType(DataType.f4);
            ZarrArray zarrArray = zarrGroup.createArray("rainfall", params);
            int rowIndex = 0;
            double[] values=new double[stationRainVos.size()];
            for (StationRainVo record : stationRainVos) {
                double value = record.getRainfall();
                zarrArray.write(value);
//                double value = record.getRainfall();
//                zarrArray.write(value);
                values[rowIndex]=record.getRainfall();
                rowIndex++;
            }
            zarrArray.write(values,chunks,offset);
            // 关闭 Zarr 组
            //zarrGroup.close();
        } catch (Exception e) {
@@ -56,7 +61,9 @@
            // 定义 Zarr 数组的维度
            int[] shape = {numRows, numColumns};
            // 定义分块大小
            int[] chunks = {1440};
            int check=stationRainVos.size();
            int[] chunks = {check};
            int[] offset = {0};
            // 创建 Zarr 数组
            ArrayParams params = new ArrayParams();
            params.shape(chunks);
@@ -65,11 +72,14 @@
            ZarrArray zarrArray = zarrGroup.createArray("time", params);
            int rowIndex = 0;
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm");
            long[] values=new long[stationRainVos.size()];
            for (StationRainVo record : stationRainVos) {
                long value = sdf.parse(record.getDatetime()).getTime()/1000;
                zarrArray.write(value);
                values[rowIndex]=sdf.parse(record.getDatetime()).getTime()/1000;
//                long value = sdf.parse(record.getDatetime()).getTime()/1000;
//                zarrArray.write(value);
                rowIndex++;
            }
            zarrArray.write(values,chunks,offset);
            // 关闭 Zarr 组
            //zarrGroup.close();
        } catch (Exception e) {