From ff6cbe7e5cde65583c6fef4782eba114c1ea06af Mon Sep 17 00:00:00 2001
From: 张洋洋 <10611411+yang-yang-z@user.noreply.gitee.com>
Date: 星期一, 10 二月 2025 17:07:31 +0800
Subject: [PATCH] [add]cityjson转sem

---
 src/main/java/com/se/simu/utils/ZarrUtils.java |   22 ++++++++++++++++------
 1 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/se/simu/utils/ZarrUtils.java b/src/main/java/com/se/simu/utils/ZarrUtils.java
index 07ce114..f85043c 100644
--- a/src/main/java/com/se/simu/utils/ZarrUtils.java
+++ b/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) {

--
Gitblit v1.9.3