diff --git a/logback.xml b/logback.xml index f721917..dac4579 100644 --- a/logback.xml +++ b/logback.xml @@ -1,4 +1,5 @@ + @@ -6,7 +7,8 @@ - terrain.log + logfile-${bySecond}.txt + true diff --git a/src/main/java/pl/wat/ms4ds/terrain/nmt/NMTDataReader.java b/src/main/java/pl/wat/ms4ds/terrain/nmt/NMTDataReader.java index 6769b9c..2df92c4 100644 --- a/src/main/java/pl/wat/ms4ds/terrain/nmt/NMTDataReader.java +++ b/src/main/java/pl/wat/ms4ds/terrain/nmt/NMTDataReader.java @@ -6,6 +6,9 @@ import pl.wat.ms4ds.terrain.*; import java.io.*; import java.util.*; +import java.util.concurrent.Executor; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; @@ -20,13 +23,24 @@ public class NMTDataReader { // Dzieli na podstringi biorąc jako znak podziału spację i jej wielokrotność String[] splitted2 = "b a e l.d u n g".split("[ ]+"); - String fn_list = "D:/work/nmt/m-33_files.txt"; - String inDir = "D:/work/nmt/m-33/"; +// String fn_list = "D:/work/nmt/m-33_files.txt"; + String inDir = "D:/work/nmt/"; String workDir = "D:/work/temp/"; String outDir = "D:/work/kwadraty_nmt/withElevation/25m/"; + ArrayList list = new ArrayList<>(); + list.add("m-33"); + list.add("m-34"); + list.add("m-35"); + list.add("n-33"); + list.add("n-34"); + ExecutorService executor = Executors.newVirtualThreadPerTaskExecutor(); + Thread t = new Thread(() -> { - generateNMTData(fn_list, 0, 24000, inDir, workDir, outDir); + for (int i = 0; i < list.size(); i++) { + String fn_list = inDir + list.get(i) + "_files.txt"; + generateNMTData(executor, fn_list, 0, 24000, inDir + list.get(i) + "/", workDir, outDir); + } }); // HashMap nmtDataHashMap = new HashMap<>(); // try { @@ -139,7 +153,7 @@ public class NMTDataReader { * @param workDir * @param outDir */ - static void generateNMTData(String fn_list, int startPos, int endPos, String inDir, String workDir, String outDir) { + static void generateNMTData(ExecutorService executor, String fn_list, int startPos, int endPos, String inDir, String workDir, String outDir) { File file = new File(fn_list); ArrayList fileNames = new ArrayList<>(); try (BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file)))) { @@ -176,20 +190,22 @@ public class NMTDataReader { for (String ufn : unzippedFileNames) { String fpath = workDir + ufn; try { - readFromFile(fpath, nmtDataHashMap); f = new File(fpath); - f.delete(); - } catch (Exception e) { if (f.length() < 10) { logger.warn("File: {} is empty.", ufn); + continue; + } + readFromFile(fpath, nmtDataHashMap); + } catch (Exception e) { + logger.warn("Error while reading from file: {}.", ufn); + try (BufferedWriter writer = new BufferedWriter(new FileWriter("D:/Work/nmt/status.txt", true))) { + writer.write("Error while reading file: " + ufn + " at position: " + i + "\n"); + } catch (IOException e1) { + logger.debug(e1.getMessage()); + } + } finally { + if (f != null) { f.delete(); - } else { - logger.warn("Error while reading from file: {}.", ufn); - try (BufferedWriter writer = new BufferedWriter(new FileWriter("D:/Work/nmt/status.txt", true))) { - writer.write("Error while reading file: " + ufn + " at position: " + i + "\n"); - } catch (IOException e1) { - logger.debug(e1.getMessage()); - } } } } diff --git a/teren.properties b/teren.properties index 0ceb6bc..b886856 100644 --- a/teren.properties +++ b/teren.properties @@ -4,13 +4,13 @@ x_ref=14 y_ref=49 dx_ref=11 dy_ref=7 -#kwadraty_dir=D:/work/kwadraty_nmt/withElevation/ -#kwadraty_dir=D:/Workspace/_data/new/ -kwadraty_dir=C:/Workspace/_data/swdt/ms4ds/teren/kwadraty/ +#kwadraty_dir=D:/work/terrain/ +kwadraty_dir=D:/work/kwadraty_nmt/withElevation/ +#kwadraty_dir=C:/Workspace/_data/swdt/ms4ds/teren/kwadraty/ drogi_dir=au2data/new_teren/Polska/drogi/ # #Rozdzielczosc terenu dl_mk=200 | 100 | 50 | 25 | 20 -dl_mk=100 +dl_mk=25 # #W celu wymuszenia (mimo jej braku) przejezdności terenu nalezy ustawić na: on przejezdnosc_zawsze=off