GRASS GIS 8 Programmer's Manual  8.4.0dev(2024)-24365e1d47
segmen2d.c File Reference
`#include <stdio.h>`
`#include <stdlib.h>`
`#include <math.h>`
`#include <grass/gis.h>`
`#include <grass/glocale.h>`
`#include <grass/interpf.h>`
`#include <grass/gmath.h>`
Include dependency graph for segmen2d.c:

Go to the source code of this file.

## Functions

int IL_interp_segments_2d (struct interp_params *params, struct tree_info *info, struct multtree *tree, struct BM *bitmask, double zmin, double zmax, double *zminac, double *zmaxac, double *gmin, double *gmax, double *c1min, double *c1max, double *c2min, double *c2max, double *ertot, int totsegm, off_t offset1, double dnorm)

double smallest_segment (struct multtree *tree, int n_leafs)

## Detailed Description

Definition in file segmen2d.c.

## ◆ IL_interp_segments_2d()

 int IL_interp_segments_2d ( struct interp_params * params, struct tree_info * info, struct multtree * tree, struct BM * bitmask, double zmin, double zmax, double * zminac, double * zmaxac, double * gmin, double * gmax, double * c1min, double * c1max, double * c2min, double * c2max, double * ertot, int totsegm, off_t offset1, double dnorm )

Interpolate recursively a tree of segments

Recursively processes each segment in a tree by:

• finding points from neighbouring segments so that the total number of points is between KMIN and KMAX2 by calling tree function MT_get_region().
• creating and solving the system of linear equations using these points and interp() by calling matrix_create() and G_ludcmp().
• checking the interpolating function values at points by calling check_points().
• computing grid for this segment using points and interp() by calling grid_calc().
Todo:
Isn't this in fact the updated version of the function (IL_interp_segments_new_2d)? The function IL_interp_segments_new_2d has the following, better behavior: The difference between this function and IL_interp_segments_2d() is making sure that additional points are taken from all directions, i.e. it finds equal number of points from neighboring segments in each of 8 neighborhoods.
Parameters
 info info for the quad tree tree current leaf of the quad tree bitmask bitmask zmax min and max input z-values zmaxac min and max interp. z-values gmax min and max inperp. slope val. c1max min and max interp. curv. val. c2max min and max interp. curv. val. ertot total interplating func. error totsegm total number of segments offset1 offset for temp file writing

Definition at line 46 of file segmen2d.c.

## ◆ smallest_segment()

 double smallest_segment ( struct multtree * tree, int n_leafs )

Definition at line 338 of file segmen2d.c.

References multtree::data, multtree::leafs, NULL, smallest_segment(), and quaddata::xmax.

Referenced by smallest_segment().