Mercurial > dive4elements > gnv-client
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. |