comparison gnv-artifacts/ChangeLog @ 361:aec85d00d82c

Added code to do 2D interpolations along a digitied track on the map. Not connected to the transition model, yet. gnv-artifacts/trunk@435 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Tue, 15 Dec 2009 22:25:53 +0000
parents ee760729f6b8
children 1ab23cd66870
comparison
equal deleted inserted replaced
360:ee760729f6b8 361:aec85d00d82c
1 2009-12-15 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2
3 * src/main/java/de/intevation/gnv/math/LinearToMap.java:
4 Uses JTS Coordinate as geometry model now.
5
6 * src/main/java/de/intevation/gnv/math/Metrics.java,
7 src/main/java/de/intevation/gnv/math/Interpolator.java: New.
8 Moved from inner class of LinearToMap to top level class
9 to be more reusable. Uses JTS Coordinate as geometry model now.
10
11 * src/main/java/de/intevation/gnv/math/Point2d.java: New.
12 Extends JTS Coordinate to have an additional (i, j)
13 to model the topological neighborhood withi the mesh, too.
14
15 * src/main/java/de/intevation/gnv/math/Interpolation2D.java: New.
16 Has a method interpolate() which takes a path line string in form
17 of a list of JTS Coordinates, a list of grid points (Point2d
18 to carry the topology, too), a linear range in diagram coordinate
19 space, a metric to cope with the projection. It reports
20 interpolated points to an implementor of the new inner interface
21 Consumer as a JTS Coordinate. (x, y) of this coordinate is the
22 postion on the map, the z value is the interpolated attribute.
23
24 To speed up the search for the neighbors the input points are
25 sorted into a quadtree and are queried first level with a buffer of
26 size (max(abs(p[i].x - p[i+1].x)), max(abs(p[i].y - p[i+1].y)))
27 around the point to be interpolated. The second level filter
28 is performed by an inverse L1-ordering with region coding, so
29 that only the nearest four neighbors are taken into acount.
30 Only if all four neighbors are present and no
31 i- or j-gaps exist the interpolation is performed. TODO: Create
32 a better extrapolation strategy in these cases were these conditions
33 are not fulfilled.
34
35 * src/main/java/de/intevation/gnv/state/profile/horizontal/HorizontalProfileMeshCrossOutputState.java:
36 Added a process() method to perform the interpolation. It does
37 nothing by now. TODO: bring it to life.
38
1 2009-12-15 Sascha L. Teichmann <sascha.teichmann@intevation.de> 39 2009-12-15 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2 40
3 * src/main/java/de/intevation/gnv/math/LinearToMap.java: Map linear 41 * src/main/java/de/intevation/gnv/math/LinearToMap.java: Map linear
4 coordinates (from, to) to world coordinates (x, y) along a line string 42 coordinates (from, to) to world coordinates (x, y) along a line string
5 given by a set of java.awt.geom.Point2D points. 43 given by a set of java.awt.geom.Point2D points.

http://dive4elements.wald.intevation.org