Changes between Version 5 and Version 6 of GSoC/2014/ImplementationOf3DRasterFlowLine
- Timestamp:
- 06/20/14 20:17:50 (11 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GSoC/2014/ImplementationOf3DRasterFlowLine
v5 v6 106 106 107 107 Currently the module supports different combinations of input and output. Input can be vector map of points from which the flowlines are generated, or when not providing this vector, the flowlines are generated from centers of voxels taking into account skip parameter to reduce the number of flowlines. Output can be flowaccumulation or flowlines or both. Computation of flowaccumulation takes more time since the flowlines have to be generated from each voxel (although they are not stored in the output vector map if not specified). 108 109 === Week 5 === 110 I fixed the voxel traversal algorithm and integrated in the flow accumulation computation. Computing flow accumulation works in this way: with each new point of a flowline, I test if the previous point was in the same voxel (cell) and if not I add 1 to the flow accumulation array at that particular index. Then, I check if the previous and the new point voxel index differ in more than one index (direct neighbors); if yes, I apply the traversal algorithm between these two points. This gives me indices of the possibly intersected voxels. So the flow accumulation is computed precisely comparing to a brute force approach when I would just make the integration step small enough. The voxel traversal algorithm was properly tested. 111 112 As Soeren pointed out, there will be probably some performance issues when writing to the 3D raster at random positions. 113 114 Next, I will try to implement Runge-Kutta with adaptive step size.