changeset 807:a645bd23c1c8

Added more javadoc. Removed trailing whitespace. gnv-artifacts/trunk@889 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Thu, 08 Apr 2010 15:24:45 +0000
parents 2cea76f1112e
children 2e951160c43d
files gnv-artifacts/ChangeLog gnv-artifacts/src/main/java/de/intevation/gnv/math/AttributedXYColumns.java gnv-artifacts/src/main/java/de/intevation/gnv/math/ConstantFunction.java gnv-artifacts/src/main/java/de/intevation/gnv/math/GridCell.java gnv-artifacts/src/main/java/de/intevation/gnv/math/HeightValue.java gnv-artifacts/src/main/java/de/intevation/gnv/math/Interpolation2D.java gnv-artifacts/src/main/java/de/intevation/gnv/math/L1Comparator.java gnv-artifacts/src/main/java/de/intevation/gnv/math/LinearFunction.java gnv-artifacts/src/main/java/de/intevation/gnv/math/XYColumn.java gnv-artifacts/src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java gnv-artifacts/src/main/java/de/intevation/gnv/utils/DistanceCalculator.java gnv-artifacts/src/main/java/de/intevation/gnv/utils/FileUtils.java gnv-artifacts/src/main/java/de/intevation/gnv/utils/MapfileGenerator.java gnv-artifacts/src/main/java/de/intevation/gnv/utils/MetaWriter.java gnv-artifacts/src/main/java/de/intevation/gnv/utils/Pair.java
diffstat 15 files changed, 394 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/gnv-artifacts/ChangeLog	Thu Apr 08 13:10:39 2010 +0000
+++ b/gnv-artifacts/ChangeLog	Thu Apr 08 15:24:45 2010 +0000
@@ -1,3 +1,23 @@
+2010-04-08	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
+
+	* src/main/java/de/intevation/gnv/math/ConstantFunction.java,
+	  src/main/java/de/intevation/gnv/math/L1Comparator.java,
+	  src/main/java/de/intevation/gnv/math/HeightValue.java,
+	  src/main/java/de/intevation/gnv/math/Interpolation2D.java,
+	  src/main/java/de/intevation/gnv/math/XYColumn.java,
+	  src/main/java/de/intevation/gnv/math/LinearFunction.java,
+	  src/main/java/de/intevation/gnv/math/GridCell.java,
+	  src/main/java/de/intevation/gnv/math/AttributedXYColumns.java:
+	  Added more javadoc.
+
+	* src/main/java/de/intevation/gnv/utils/FileUtils.java,
+	  src/main/java/de/intevation/gnv/utils/MetaWriter.java,
+	  src/main/java/de/intevation/gnv/utils/DistanceCalculator.java,
+	  src/main/java/de/intevation/gnv/utils/MapfileGenerator.java,
+	  src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java,
+	  src/main/java/de/intevation/gnv/utils/Pair.java:
+	  Removed trailing whitespace
+
 2010-04-08  Ingo Weinzierl <ingo.weinzierl@intevation.de>
 
 	* src/main/java/de/intevation/gnv/utils/FileUtils.java,
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/math/AttributedXYColumns.java	Thu Apr 08 13:10:39 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/math/AttributedXYColumns.java	Thu Apr 08 15:24:45 2010 +0000
@@ -9,24 +9,58 @@
 import java.util.Map;
 
 /**
- *  @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
- *  @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a>
+ * Stores the results of a 3D interpolation. Used to generated the final
+ * products.
+ *
+ * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
+ * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a>
  */
 public class AttributedXYColumns
 implements   Serializable
 {
+    /**
+     * The list of height value column.
+     */
     protected List<? extends XYColumn> columns;
+
+    /**
+     * The extra input attributes which are not relevant
+     * for the interpolation but for generating the results.
+     */
     protected Map                      attributes;
+
+    /**
+     * The interpolation result.
+     */
     protected Interpolation3D          interpolation;
+
+    /**
+     * Dataset to be used in a {@link de.intevation.gnv.jfreechart.PolygonPlot}.
+     */
     protected PolygonDataset           dataset;
 
+    /**
+     * Default constructor.
+     */
     public AttributedXYColumns() {
     }
 
+    /**
+     * Constructor to create a AttributedXYColumns instance only
+     * with the height value columns.
+     * @param columns The height value columns.
+     */
     public AttributedXYColumns(List<? extends XYColumn> columns) {
         this(columns, null);
     }
 
+    /**
+     * Constructor to create a AttributedXYColumns with
+     * height value columns and the attributes to be used to
+     * generate the results.
+     * @param columns The height value columns.
+     * @param attributes The external attributes.
+     */
     public AttributedXYColumns(
         List<? extends XYColumn> columns,
         Map attributes
@@ -35,12 +69,22 @@
         this.attributes = attributes;
     }
 
+    /**
+     * Gets an attribute.
+     * @param key The key of the attribute.
+     * @return The attribute or null if no such attribue is found.
+     */
     public Object getAttribute(Object key) {
         return attributes != null
             ? attributes.get(key)
             : null;
     }
 
+    /**
+     * Puts an attribute to the map of external attributes.
+     * @param key The key of the attribute.
+     * @param value The value of the attribute.
+     */
     public void setAttribute(Object key, Object value) {
         if (attributes == null) {
             attributes = new HashMap();
@@ -48,28 +92,53 @@
         attributes.put(key, value);
     }
 
+    /**
+     * Returns the list of height value columns.
+     * @return The list of height value columns.
+     */
     public List<? extends XYColumn> getXYColumns() {
         return columns;
     }
 
+    /**
+     * Sets the list of height value columns.
+     * @param columns The new list of height value columns.
+     */
     public void setXYColumns(List<? extends XYColumn> columns) {
         this.columns = columns;
     }
 
+    /**
+     * Sets the interpolation result.
+     * @param interpolation The new interpolation result.
+     */
     public void setInterpolation(Interpolation3D interpolation) {
         this.interpolation = interpolation;
     }
 
+    /**
+     * Gets the interpolation results.
+     * @return The interpolation results.
+     */
     public Interpolation3D getInterpolation() {
         return interpolation;
     }
 
+    /**
+     * Sets the generated polygon data set to be used in a
+     * {@link de.intevation.gnv.jfreechart.PolygonPlot}.
+     * @param dataset The polygon data set.
+     */
     public void setPolygonDataset(PolygonDataset dataset) {
         this.dataset = dataset;
     }
 
+    /**
+     * Returns the polygon data set.
+     * @return The polygon data set.
+     */
     public PolygonDataset getPolygonDataset() {
         return dataset;
     }
 }
-// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
\ No newline at end of file
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/math/ConstantFunction.java	Thu Apr 08 13:10:39 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/math/ConstantFunction.java	Thu Apr 08 15:24:45 2010 +0000
@@ -3,16 +3,29 @@
 import org.apache.commons.math.analysis.UnivariateRealFunction;
 
 /**
+ * Models a constant function to be used in function evaluation.
+ *
  * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a>
  */
 public class ConstantFunction
 implements   UnivariateRealFunction
 {
+    /**
+     * The constant value.
+     */
     protected double value;
 
+    /**
+     * Defaut constructor.
+     */
     public ConstantFunction() {
     }
 
+    /**
+     * Constructor to create a ConstantFunction with
+     * a given constant value.
+     * @param value The constant value.
+     */
     public ConstantFunction(double value) {
         this.value = value;
     }
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/math/GridCell.java	Thu Apr 08 13:10:39 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/math/GridCell.java	Thu Apr 08 15:24:45 2010 +0000
@@ -21,28 +21,51 @@
 import org.apache.log4j.Logger;
 
 /**
- *  @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a>
+ * Spans a rectangle of points to be used in spatial indexing.
+ *
+ * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a>
  */
 public class GridCell
 implements   Serializable
 {
     private static Logger log = Logger.getLogger(GridCell.class);
 
+    /**
+     * Callback for {@link com.vividsolutions.jts.index.SpatialIndex}
+     * to find a GridCell which contains a given point.
+     */
     public static final class CellFinder
     implements                ItemVisitor
     {
+        /**
+         * Stores the found GridCell.
+         */
         public    GridCell found;
 
+        /**
+         * The query point.
+         */
         protected Point    point;
 
+        /**
+         * Default constructor.
+         */
         public CellFinder() {
         }
 
+        /**
+         * Prepares a spatial index lookup.
+         * @param center The query point.
+         */
         public void prepare(Coordinate center) {
             found = null;
             point = GEOMETRY_FACTORY.createPoint(center);
         }
 
+        /**
+         * Called by the spatial index as a 2nd order filter.
+         * @param item The GridCell to test.
+         */
         public void visitItem(Object item) {
             if (found == null) {
                 GridCell cell = (GridCell)item;
@@ -53,19 +76,47 @@
         }
     } // class CellFinder
 
+    /**
+     * The first point.
+     */
     public Point2d p1;
+    /**
+     * The second point.
+     */
     public Point2d p2;
+    /**
+     * The third point.
+     */
     public Point2d p3;
+    /**
+     * The fourth point.
+     */
     public Point2d p4;
 
+    /**
+     * Polygon created from the four points.
+     */
     protected Polygon polygon;
 
+    /**
+     * Geometry factory to create the query points and the polygons.
+     */
     public static final GeometryFactory GEOMETRY_FACTORY
         = new GeometryFactory();
 
+    /**
+     * Default constructor.
+     */
     public GridCell() {
     }
 
+    /**
+     * Constructor to create a GridCell out of four given points..
+     * @param p1 The first point.
+     * @param p2 The second point.
+     * @param p3 The thrid point.
+     * @param p4 The fourth point.
+     */
     public GridCell(Point2d p1, Point2d p2, Point2d p3, Point2d p4) {
         this.p1 = p1;
         this.p2 = p2;
@@ -74,6 +125,9 @@
         createPolygon();
     }
 
+    /**
+     * Creates the polygon from the four points.
+     */
     protected void createPolygon() {
         Coordinate [] coords = new Coordinate [] { p1, p2, p3, p4, p1 };
         if (!CGAlgorithms.isCCW(coords)) {
@@ -93,20 +147,41 @@
         polygon = GEOMETRY_FACTORY.createPolygon(shell, null);
     }
 
+    /**
+     * Returns the envelope of the four point polygon.
+     * @return
+     */
     public Envelope getEnvelope() {
         return polygon.getEnvelopeInternal();
     }
 
+    /**
+     * Test if a given point is inside this grid cell.
+     * @param coord
+     * @return
+     */
     public boolean contains(Geometry coord) {
         return polygon.contains(coord);
     }
 
+    /**
+     * Converts a list of points to a list of grid cells.
+     * @param points This list of points.
+     * @return This list of grid cells.
+     */
     public static List<GridCell> pointsToGridCells(
         List<? extends Point2d> points
     ) {
         return pointsToGridCells(points, null);
     }
 
+    /**
+     * Converts a list of points to a list of grid cells.
+     * Points that are not in a relevant area are ignored.
+     * @param points The list of points.
+     * @param relevantArea The relevant area.
+     * @return The list of grid cells.
+     */
     public static List<GridCell> pointsToGridCells(
         List<? extends Point2d> points,
         Envelope                relevantArea
@@ -125,6 +200,17 @@
         {  0, -1 }  // 7
     };
 
+    /**
+     * Generate points by extrapolating border points.
+     * @param rows (i, j) indexed map of points.
+     * @param minI min known i.
+     * @param maxI max known i.
+     * @param minJ min known j.
+     * @param maxJ max known j.
+     * @param rounds Deternine how many extra rings should be generated.
+     * @param relevantArea The relevant area.
+     * @return number of newly generated points.
+     */
     public static int extrapolate(
         HashMap<Integer, HashMap<Integer, Point2d>> rows,
         int minI, int maxI,
@@ -212,6 +298,15 @@
         return total;
     }
 
+    /**
+     * Converts a list of points to a list of grid cells.
+     * @param points The list of points.
+     * @param relevantArea The relevant area. If a point is
+     * not inside this area it is ignored during the build process.
+     * @param extrapolationRounds Number of extra point rings.
+     * 0 = no extrpolation.
+     * @return The list of grid cells.
+     */
     public static List<GridCell> pointsToGridCells(
         List<? extends Point2d> points,
         Envelope                relevantArea,
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/math/HeightValue.java	Thu Apr 08 13:10:39 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/math/HeightValue.java	Thu Apr 08 15:24:45 2010 +0000
@@ -5,12 +5,19 @@
 import java.util.Comparator;
 
 /**
+ * An attributed height value. It holds a z value, a parameter value
+ * and a layer index.
+ *
  * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
  * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a>
  */
 public class HeightValue
 implements   Serializable
 {
+    /**
+     * Comparator to sort <code>HeightValue</code>s by their z value
+     * in reversed order.
+     */
     public static final Comparator INV_Z_COMPARATOR = new Comparator() {
         public int compare(Object a, Object b) {
             HeightValue ha = (HeightValue)a;
@@ -21,24 +28,54 @@
         }
     };
 
+    /**
+     * The height value.
+     */
     public double z;
+
+    /**
+     * The parameter value.
+     */
     public double v;
+
+    /**
+     * The layer index;
+     */
     public int    k;
 
+    /**
+     * Constructor to create a HeightValue with a given height,
+     * parameter value and layer index.
+     * @param z The height.
+     * @param v The parameter value.
+     * @param k The layer index.
+     */
     public HeightValue(double z, double v, int k) {
         this.z = z;
         this.v = v;
         this.k = k;
     }
 
+    /**
+     * Return the height of this HeightValue.
+     * @return the height.
+     */
     public double getZ() {
         return z;
     }
 
+    /**
+     * Return the parameter value of this HeightValue.
+     * @return The parameter value.
+     */
     public double getV() {
         return v;
     }
 
+    /**
+     * Returns the layer index of this HeightValue.
+     * @return The layer index.
+     */
     public double getK() {
         return k;
     }
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/math/Interpolation2D.java	Thu Apr 08 13:10:39 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/math/Interpolation2D.java	Thu Apr 08 15:24:45 2010 +0000
@@ -10,24 +10,51 @@
 import org.apache.log4j.Logger;
 
 /**
- *  @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a>
+ * Interpolates along a given line string. This used to generate
+ * "horizontale Schnittprofile".
+ *
+ * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a>
  */
 public final class Interpolation2D
 {
     private static Logger log = Logger.getLogger(Interpolation2D.class);
 
+    /**
+     * If the number of input points are over this threshold
+     * some culling strategies are applied to reduce the amount of points.
+     */
     public static final int CULL_POINT_THRESHOLD = Integer.getInteger(
         "gnv.interpolation2d.cull.point.threshold", 1000);
 
+    /**
+     * Numerical stability epsilon.
+     */
     public static final double EPS = 1e-6d;
 
+    /**
+     * Callback to send the interpolated values back to the
+     * caller without building large temporary strcutures.
+     */
     public interface Consumer {
+        /**
+         * Sends an interpolated point back to the called.
+         * The interpolated parameter is stored in the z component.
+         * @param point The interpolated point.
+         * @param success true if interpolation at the point
+         * succeed, else false.
+         */
         void interpolated(Coordinate point, boolean success);
     } // interface Consumer
 
     private Interpolation2D() {
     }
 
+    /**
+     * Calculates the relevant area for a given line string.
+     * @param path The line string.
+     * @param points The sample points.
+     * @return The relevant area.
+     */
     public static final Envelope relevantArea(
         List<? extends Coordinate> path,
         List<? extends Coordinate> points
@@ -35,6 +62,12 @@
         return relevantArea(path, points, CULL_POINT_THRESHOLD);
     }
 
+    /**
+     * Calculates the relevant area for a given bounding box.
+     * @param pathBBox The bounding box.
+     * @param points The sample points.
+     * @return The relevant area.
+     */
     public static final Envelope relevantArea(
         Envelope                   pathBBox,
         List<? extends Coordinate> points
@@ -42,6 +75,14 @@
         return relevantArea(pathBBox, points, CULL_POINT_THRESHOLD);
     }
 
+    /**
+     * Calculates the relevant area for a given bounding box.
+     * @param pathBBox The bounding box.
+     * @param points The sample points.
+     * @param threshold If the number of sample points
+     * are below this threshold no relevant area is calculated.
+     * @return The relevant area.
+     */
     public static final Envelope relevantArea(
         Envelope                   pathBBox,
         List<? extends Coordinate> points,
@@ -54,6 +95,14 @@
                 pointsBoundingBox(points));
     }
 
+    /**
+     * Calculates the relevant area for a given line string.
+     * @param path The line string.
+     * @param points The sample points.
+     * @param threshold If the number of sample points
+     * are below this threshold no relevant area is calculated.
+     * @return The relevant area.
+     */
     public static final Envelope relevantArea(
         List<? extends Coordinate> path,
         List<? extends Coordinate> points,
@@ -66,6 +115,12 @@
                 pointsBoundingBox(points));
     }
 
+    /**
+     * Heuristic function to define a 'relevant area'.
+     * @param pathBBox The bounding box of the line line string.
+     * @param pointsBBox The bounding box of the sample points.
+     * @return The relevant area.
+     */
     public static final Envelope relevantArea(
         Envelope pathBBox,
         Envelope pointsBBox
@@ -90,6 +145,13 @@
         return pathBBox;
     }
 
+    /**
+     * Solves quadratic equation a*x*x + b*x + c = 0.
+     * @param a a-coefficent.
+     * @param b b-coefficent
+     * @param c c-coefficent.
+     * @return the solution of the equation, or null if not solvable.
+     */
     public static final double [] solveQuadratic(
         double a, double b, double c
     ) {
@@ -103,11 +165,22 @@
         return new double [] { a*(b + d), a*(b - d) };
     }
 
+    /**
+     * Return the element of a two element array which
+     * is greater or equal zero.
+     * @param x The two values.
+     * @return The value which is greater or equal zero.
+     */
     public static final double pos(double [] x) {
         return x[0] >= 0 ? x[0] : x[1];
     }
 
 
+    /**
+     * Calculates the bounding box of a given line string.
+     * @param path The line string.
+     * @return The bounding box.
+     */
     public static Envelope pointsBoundingBox(
         List<? extends Coordinate> path
     ) {
@@ -121,6 +194,19 @@
         return area;
     }
 
+    /**
+     * Interpolates linearly a number of coordinates and parameter values along
+     * a given line string path. The results are issued to a consumer.
+     * @param path The line string path.
+     * @param points The sample points.
+     * @param from Start point as a scalar value linear
+     * referenced on the line string.
+     * @param to End point of  as a scalar value linear
+     * referenced on the line string.
+     * @param steps Number of points to be interpolated.
+     * @param metrics The used metric.
+     * @param consumer The callback to retrieve the result points.
+     */
     public static void interpolate(
         List<? extends Coordinate> path,
         List<? extends Point2d>    points,
@@ -225,6 +311,16 @@
         }
     }
 
+    /**
+     * Linear interpolate a value between (x1, y1) and (x2, y2) at
+     * a given x-value.
+     * @param x1 x component of first point.
+     * @param y1 y component of first point.
+     * @param x2 x component of second point.
+     * @param y2 y component of second point.
+     * @param x The x value.
+     * @return The intepolated result.
+     */
     public static final double interpolate(
         double x1, double y1,
         double x2, double y2,
@@ -238,4 +334,4 @@
         return m*x + b;
     }
 }
-// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
\ No newline at end of file
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/math/L1Comparator.java	Thu Apr 08 13:10:39 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/math/L1Comparator.java	Thu Apr 08 15:24:45 2010 +0000
@@ -5,7 +5,7 @@
 import java.util.Comparator;
 
 /**
- * Compares two coordinates a and b by their L1(Matnhattan) distance
+ * Compares two coordinates a and b by their L1(Manhattan) distance
  * relative to a reference point r.
  * da = L1(a, r)<br>
  * db = L1(b, r)<br>
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/math/LinearFunction.java	Thu Apr 08 13:10:39 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/math/LinearFunction.java	Thu Apr 08 15:24:45 2010 +0000
@@ -7,7 +7,7 @@
 import org.apache.commons.math.optimization.fitting.ParametricRealFunction;
 
 /**
- * Models a linear function to be usable in the fitting frame of
+ * Models a linear function to be usable in the fitting framework of
  * the Apache Commons Mathematics Library.
  *
  *  @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a>
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/math/XYColumn.java	Thu Apr 08 13:10:39 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/math/XYColumn.java	Thu Apr 08 15:24:45 2010 +0000
@@ -15,6 +15,9 @@
 import org.apache.log4j.Logger;
 
 /**
+ * A column of discrete attributed height values located at a point.
+ * Values between the discrete height values are interpolated.
+ *
  * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
  * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a>
  */
@@ -24,23 +27,49 @@
 {
     private static Logger log = Logger.getLogger(XYColumn.class);
 
+    /**
+     * The list of discrete height values.
+     */
     protected List<HeightValue> values;
 
+    /**
+     * The curve used to interpolate the points between the
+     * discrete height values.
+     */
     protected transient UnivariateRealFunction curve;
 
+    /**
+     * Default constructor.
+     */
     public XYColumn() {
         values = new ArrayList<HeightValue>();
     }
 
+    /**
+     * Constructor to create an XYColumn with a given (x, y) coordinate
+     * and an (i, j) index tuple.
+     * @param x The x coordinate.
+     * @param y The y coordinate.
+     * @param i The i component.
+     * @param j The j component.
+     */
     public XYColumn(double x, double y, int i, int j) {
         super(x, y, i, j);
         values = new ArrayList<HeightValue>();
     }
 
+    /**
+     * Adds a given height value to the list of height values.
+     * @param value The height value.
+     */
     public void add(HeightValue value) {
         values.add(value);
     }
 
+    /**
+     * Returns the list of height values.
+     * @return The list of height values.
+     */
     public List<HeightValue> getValues() {
         return values;
     }
@@ -63,6 +92,12 @@
         return Double.NaN;
     }
 
+    /**
+     * Prepares this XYColumn to be queried. A given XYDepth
+     * object is used to fill the values to a certain depth.
+     * @param xyDepth To figure out the depth a the cordinate.
+     * @return true if preparation succeeds else false.
+     */
     public boolean prepare(XYDepth xyDepth) {
         if (curve == null) {
             int N = values.size();
@@ -120,8 +155,15 @@
         return true;
     }
 
+    /**
+     * Returns the interpolator used to interpolate the values between
+     * the discrete height values. This class returns an instance of
+     * {@link org.apache.commons.math.analysis.interpolation.SplineInterpolator}.
+     * Override this if you want to use another kind of interpolation.
+     * @return The interpolator to be used.
+     */
     protected UnivariateRealInterpolator getInterpolator() {
         return new SplineInterpolator();
     }
 }
-// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
\ No newline at end of file
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java	Thu Apr 08 13:10:39 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java	Thu Apr 08 15:24:45 2010 +0000
@@ -62,7 +62,7 @@
 
     /**
      * Creates an <code>Element</code> and returns it.
-     * 
+     *
      * @param document A document
      * @param name Name of a node.
      * @return an Element.
@@ -213,7 +213,7 @@
 
     /**
      * Read <i>fileName</i> and return the first child node.
-     * 
+     *
      * @param fileName An xml document.
      * @return the first child node in this document.
      */
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/utils/DistanceCalculator.java	Thu Apr 08 13:10:39 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/utils/DistanceCalculator.java	Thu Apr 08 15:24:45 2010 +0000
@@ -7,7 +7,7 @@
 
 /**
  * A helper class to calculate distances between points and coordinates.
- * 
+ *
  * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
  *
  */
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/utils/FileUtils.java	Thu Apr 08 13:10:39 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/utils/FileUtils.java	Thu Apr 08 15:24:45 2010 +0000
@@ -15,7 +15,7 @@
 /**
  * A helper class to provide some methods for working with files and
  * directories.
- * 
+ *
  * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a>
  * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
  */
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/utils/MapfileGenerator.java	Thu Apr 08 13:10:39 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/utils/MapfileGenerator.java	Thu Apr 08 15:24:45 2010 +0000
@@ -35,7 +35,7 @@
  * This class iterates over a bunch of directories, searches for meta
  * information coresponding to shapefiles and creates a mapfile which is used by
  * a <i>MapServer</i>.
- * 
+ *
  * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
  */
 public class MapfileGenerator
@@ -81,7 +81,7 @@
      * The XPath to layer nodes in the meta information xml file.
      */
     public static final String XPATH_LAYER        = "/art:meta/art:layer";
-    
+
     public static final String XPATH_LAYER_NAME   = "art:name";
     public static final String XPATH_LAYER_TITLE  = "art:title";
     public static final String XPATH_LAYER_TYPE   = "art:type";
@@ -114,7 +114,7 @@
      * A main method which can be used to create a mapfile without a running
      * artifact server.<br>
      * <b>NOTE:</b> This method is not implemented yet!
-     * 
+     *
      * @param args Arguments.
      */
     public static void main(String[] args) {
@@ -337,7 +337,7 @@
 
     /**
      * Returns the mapfile.
-     * 
+     *
      * @return the mapfile.
      */
     protected File getMapfile() {
@@ -354,7 +354,7 @@
     /**
      * Search for meta information file in <i>file</i> and store the layer
      * information in <i>store</i> if a meta file was found.
-     * 
+     *
      * @param file The root directory to be searched for meta files.
      * @param store A list storing <code>LayerInfo</code> objects.
      */
@@ -479,7 +479,7 @@
 
     /**
      * Creates a mapfile with the layer information stored in <i>layers</i>.
-     * 
+     *
      * @param layers Layer information.
      */
     protected void writeMapfile(List layers) {
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/utils/MetaWriter.java	Thu Apr 08 13:10:39 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/utils/MetaWriter.java	Thu Apr 08 15:24:45 2010 +0000
@@ -25,7 +25,7 @@
 /**
  * This class provides some methods to create files storing meta information
  * about wms layers and a map service which serves these layers.
- * 
+ *
  * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
  */
 public class MetaWriter {
@@ -52,7 +52,7 @@
 
     /**
      * Writes a meta information file for product type 'Layer'.
-     * 
+     *
      * @param context CallContext object.
      * @param uuid The UUID of the current artifact.
      * @param path The destination of the meta file.
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/utils/Pair.java	Thu Apr 08 13:10:39 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/utils/Pair.java	Thu Apr 08 15:24:45 2010 +0000
@@ -3,7 +3,7 @@
 import java.io.Serializable;
 
 /**
- * @param <A> 
+ * @param <A>
  * @param <B>
  * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a>
  */

http://dive4elements.wald.intevation.org