Działający w wersji jednowątkowej.
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
<configuration>
|
<configuration>
|
||||||
|
<timestamp key="bySecond" datePattern="yyyyMMdd'T'HHmmss"/>
|
||||||
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
||||||
<encoder>
|
<encoder>
|
||||||
<!-- <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>-->
|
<!-- <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>-->
|
||||||
@@ -6,7 +7,8 @@
|
|||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
|
||||||
<file>terrain.log</file>
|
<file>logfile-${bySecond}.txt</file>
|
||||||
|
<!-- <file>terrain.log</file>-->
|
||||||
<append>true</append>
|
<append>true</append>
|
||||||
<encoder>
|
<encoder>
|
||||||
<!-- <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>-->
|
<!-- <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>-->
|
||||||
|
|||||||
@@ -6,6 +6,9 @@ import pl.wat.ms4ds.terrain.*;
|
|||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.util.*;
|
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.ZipEntry;
|
||||||
import java.util.zip.ZipInputStream;
|
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ść
|
// 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[] splitted2 = "b a e l.d u n g".split("[ ]+");
|
||||||
|
|
||||||
String fn_list = "D:/work/nmt/m-33_files.txt";
|
// String fn_list = "D:/work/nmt/m-33_files.txt";
|
||||||
String inDir = "D:/work/nmt/m-33/";
|
String inDir = "D:/work/nmt/";
|
||||||
String workDir = "D:/work/temp/";
|
String workDir = "D:/work/temp/";
|
||||||
String outDir = "D:/work/kwadraty_nmt/withElevation/25m/";
|
String outDir = "D:/work/kwadraty_nmt/withElevation/25m/";
|
||||||
|
|
||||||
|
ArrayList<String> 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(() -> {
|
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<Coord.Grid, NMTData> nmtDataHashMap = new HashMap<>();
|
// HashMap<Coord.Grid, NMTData> nmtDataHashMap = new HashMap<>();
|
||||||
// try {
|
// try {
|
||||||
@@ -139,7 +153,7 @@ public class NMTDataReader {
|
|||||||
* @param workDir
|
* @param workDir
|
||||||
* @param outDir
|
* @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);
|
File file = new File(fn_list);
|
||||||
ArrayList<String> fileNames = new ArrayList<>();
|
ArrayList<String> fileNames = new ArrayList<>();
|
||||||
try (BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file)))) {
|
try (BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file)))) {
|
||||||
@@ -176,20 +190,22 @@ public class NMTDataReader {
|
|||||||
for (String ufn : unzippedFileNames) {
|
for (String ufn : unzippedFileNames) {
|
||||||
String fpath = workDir + ufn;
|
String fpath = workDir + ufn;
|
||||||
try {
|
try {
|
||||||
readFromFile(fpath, nmtDataHashMap);
|
|
||||||
f = new File(fpath);
|
f = new File(fpath);
|
||||||
f.delete();
|
|
||||||
} catch (Exception e) {
|
|
||||||
if (f.length() < 10) {
|
if (f.length() < 10) {
|
||||||
logger.warn("File: {} is empty.", ufn);
|
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();
|
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());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,13 +4,13 @@ x_ref=14
|
|||||||
y_ref=49
|
y_ref=49
|
||||||
dx_ref=11
|
dx_ref=11
|
||||||
dy_ref=7
|
dy_ref=7
|
||||||
#kwadraty_dir=D:/work/kwadraty_nmt/withElevation/
|
#kwadraty_dir=D:/work/terrain/
|
||||||
#kwadraty_dir=D:/Workspace/_data/new/
|
kwadraty_dir=D:/work/kwadraty_nmt/withElevation/
|
||||||
kwadraty_dir=C:/Workspace/_data/swdt/ms4ds/teren/kwadraty/
|
#kwadraty_dir=C:/Workspace/_data/swdt/ms4ds/teren/kwadraty/
|
||||||
drogi_dir=au2data/new_teren/Polska/drogi/
|
drogi_dir=au2data/new_teren/Polska/drogi/
|
||||||
#
|
#
|
||||||
#Rozdzielczosc terenu dl_mk=200 | 100 | 50 | 25 | 20
|
#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
|
#W celu wymuszenia (mimo jej braku) przejezdności terenu nalezy ustawić na: on
|
||||||
przejezdnosc_zawsze=off
|
przejezdnosc_zawsze=off
|
||||||
|
|||||||
Reference in New Issue
Block a user