Mercurial > dive4elements > gnv-client
diff gnv-artifacts/src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java @ 425:15b8e95fa8da
Horizontale Schnittprofile. Ignore invalid interpolation correctly.
gnv-artifacts/trunk@473 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Mon, 21 Dec 2009 19:58:17 +0000 |
parents | 2402173a1490 |
children | bed9735adf84 |
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java Mon Dec 21 18:00:54 2009 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java Mon Dec 21 19:58:17 2009 +0000 @@ -353,6 +353,14 @@ } public void interpolated(Coordinate coordinate, boolean success) { + + if (!success && !lastWasSuccess) { + // only insert null if last was valid. + // This prevents flooding the result set with nulls + // if interpolating over a large gap. + return; + } + DefaultResult result = new DefaultResult(descriptor); ResultDescriptor pd = prototyp.getResultDescriptor(); @@ -366,15 +374,9 @@ result.addColumnValue(j, WKTUtils.toWKT(coordinate)); } else if (colname.equals("YORDINATE")) { - if (success) { - result.addColumnValue(j, Double.valueOf(coordinate.z)); - } - else if (lastWasSuccess) { - // only insert null if last was valid. - // This prevents flooding the result set with nulls - // if interpolating over a large gap. - result.addColumnValue(j, null); - } + result.addColumnValue(j, success + ? Double.valueOf(coordinate.z) + : null); } else { result.addColumnValue(j, prototyp.getObject(i));