comparison flys-backend/src/main/java/de/intevation/flys/importer/WstParser.java @ 489:e960098b1398

Importer: Ignore lines that contain km positions which were found before in the same WST file. flys-backend/trunk@1833 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Thu, 05 May 2011 09:45:13 +0000
parents 73052199f9f6
children 13af9318a4a2
comparison
equal deleted inserted replaced
488:b316d2106598 489:e960098b1398
1 package de.intevation.flys.importer; 1 package de.intevation.flys.importer;
2 2
3 import java.util.ArrayList; 3 import java.util.ArrayList;
4 import java.util.HashMap; 4 import java.util.HashMap;
5 import java.util.HashSet;
5 6
6 import java.io.File; 7 import java.io.File;
7 import java.io.IOException; 8 import java.io.IOException;
8 import java.io.LineNumberReader; 9 import java.io.LineNumberReader;
9 import java.io.InputStreamReader; 10 import java.io.InputStreamReader;
88 89
89 boolean columnHeaderChecked = false; 90 boolean columnHeaderChecked = false;
90 91
91 String einheit = "Wasserstand [NN + m]"; 92 String einheit = "Wasserstand [NN + m]";
92 93
93 //HashMap<String, Double> oldEscapeLine = null; 94 HashSet<BigDecimal> kms = new HashSet<BigDecimal>();
94 95
95 while ((input = in.readLine()) != null) { 96 while ((input = in.readLine()) != null) {
96 String line = input; 97 String line = input;
97 if (first) { // fetch number of columns 98 if (first) { // fetch number of columns
98 if ((line = line.trim()).length() == 0) { 99 if ((line = line.trim()).length() == 0) {
229 BigDecimal [] data = 230 BigDecimal [] data =
230 parseLineAsDouble(line, columnCount, true, false); 231 parseLineAsDouble(line, columnCount, true, false);
231 232
232 BigDecimal kaem = data[0]; 233 BigDecimal kaem = data[0];
233 234
235 if (!kms.add(kaem)) {
236 log.warn(
237 "km " + kaem +
238 " (line " + in.getLineNumber() +
239 ") found more than once. -> ignored");
240 continue;
241 }
242
234 if (kaem.compareTo(minKm) < 0) { 243 if (kaem.compareTo(minKm) < 0) {
235 minKm = kaem; 244 minKm = kaem;
236 } 245 }
237 if (kaem.compareTo(maxKm) > 0) { 246 if (kaem.compareTo(maxKm) > 0) {
238 maxKm = kaem; 247 maxKm = kaem;

http://dive4elements.wald.intevation.org