wuww
2025-04-15 3fd18ea3e911b89b1004ea8c5056d719c736dae5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
package com.se.nsl;
 
import com.se.nsl.helper.GdalHelper;
import javafx.scene.input.DataFormat;
import org.gdal.gdal.Dataset;
import org.gdal.gdal.Driver;
import org.gdal.gdal.gdal;
import org.gdal.gdalconst.gdalconst;
import org.gdal.gdalconst.gdalconstConstants;
import org.junit.Test;
import org.springframework.boot.test.context.SpringBootTest;
 
import com.alibaba.fastjson.JSONObject;
import java.io.File;
import java.io.IOException;
import java.net.*;
import java.nio.ByteBuffer;
import java.nio.channels.DatagramChannel;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
 
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
public class AppTest {
    //@Test
    public void procDepthFiles() {
        String path = "D:\\other\\simu\\uwsolver\\20250412\\depth";
        /*for (File file : new File(path).listFiles()) {
            if (!file.exists() || !file.isDirectory()) continue;
 
            File tif = new File(path + "\\" + file.getName() + "\\depth.tif");
            if (!tif.exists() || tif.isDirectory()) continue;
 
            File newFile = new File(path + "\\2025041200" + file.getName() + ".tif");
            System.out.println(newFile.getPath());
            tif.renameTo(newFile);
            file.delete();
        }*/
 
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(new Date(2025 - 1900, 3, 12, 0, 0, 0));
        SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
 
        String oldPath = "D:\\other\\simu\\uwsolver\\20250412\\depth-old";
        String newPath = "D:\\other\\simu\\uwsolver\\20250412\\depth";
        for (File file : new File(oldPath).listFiles()) {
            String fileName = file.getName().replace("2025041200", "").replace(".tif", "");
            int second = Integer.parseInt(fileName);
            calendar.set(Calendar.SECOND, 0);
            calendar.set(Calendar.MINUTE, 0);
            calendar.set(Calendar.HOUR, 0);
            calendar.add(Calendar.SECOND, second);
            String newName = df.format(calendar.getTime());
            String newFile = newPath + File.separator + newName + ".tif";
 
            System.out.println(newFile);
            file.renameTo(new File(newFile));
        }
    }
 
    //@Test
    public void collectPngToList() {
        System.out.println("------------------------------------------- start");
        int size = 1024;
        String outputPath = "D:\\other\\simu\\out\\20250412\\waters";
        List<String> list = new ArrayList<>();
        for (File file : new File(outputPath).listFiles()) {
            if (!file.exists() || file.isFile()) continue;
 
            File pngFile = new File(file.getPath() + File.separator + size + "_" + size + ".png");
            if (!pngFile.exists() || pngFile.isDirectory()) continue;
 
            list.add("file '" + pngFile.getPath().replace("\\", "/") + "'");
            System.out.println(list.get(list.size() - 1));
        }
 
        Path path = Paths.get(outputPath + File.separator + "list.txt");
        try {
            Files.write(path, list, StandardCharsets.UTF_8);
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println("------------------------------------------- end");
    }
 
    //@Test
    public void readZarr() throws Exception {
        GdalHelper.init("D:\\soft\\release-1928-x64-dev\\release-1928-x64\\bin");
 
        String zarrPath = "D:\\other\\simu\\CudaUWSolver.zarr";
        Dataset ds = null;
        try {
            Driver driver = gdal.GetDriverByName("Zarr");
            ds = gdal.Open(zarrPath, gdalconst.GA_ReadOnly);
            if (null == ds || ds.getRasterCount() < 1) return;
 
            System.out.println(ds.getRasterCount());
        } finally {
            if (null != ds) ds.delete();
        }
    }
 
    //@Test
    public void readZarr2() throws Exception {
        String zarrInputPath = "D:\\other\\simu\\out\\out.zarr";
        gdal.AllRegister();
        System.out.println("GDAL Initialized. Version: " + gdal.VersionInfo("RELEASE_NAME"));
 
        Dataset inputDataset = gdal.Open(zarrInputPath, gdalconst.GA_ReadOnly);
 
        if (inputDataset == null) {
            System.err.println("Could not open input dataset: " + zarrInputPath);
            return;
        }
 
        System.out.println("Successfully opened");
        System.out.println(
                "Driver: " + inputDataset.GetDriver().getShortName() + "/" + inputDataset.GetDriver().getLongName());
        System.out.println("Size: " + inputDataset.getRasterXSize() + "x" + inputDataset.getRasterYSize() + "x"
                + inputDataset.getRasterCount());
    }
}