grass  7.8.6
About: GRASS (Geographic Resources Analysis Support System) is a raster- and vector-based GIS, image processing system, graphics production system and spatial modeling system.
  Fossies Dox: grass-7.8.6.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

lidar.h File Reference
#include <grass/gis.h>
#include <grass/gmath.h>
#include <grass/vector.h>
#include <grass/dbmi.h>
#include <grass/raster.h>
#include <grass/segment.h>
#include <grass/glocale.h>
Include dependency graph for lidar.h:

Go to the source code of this file.

Classes

struct  Reg_dimens
 
struct  Point
 
struct  element
 

Macros

#define NSPLX_MAX   150 /* Maximum number of splines along East direction used in the subregions interpolation */
 
#define NSPLY_MAX   150 /* Maximum number of splines along North direction used in the subregions interpolation */
 
#define OVERLAP_SIZE   10 /* Subregions overlapping size. */
 
#define LATO   1000 /* Side's size for v.lidar.growing. */
 
#define CONTOUR   15
 
#define GENERAL_ROW   0
 
#define GENERAL_COLUMN   1
 
#define FIRST_ROW   2
 
#define LAST_ROW   3
 
#define FIRST_COLUMN   4
 
#define LAST_COLUMN   5
 
#define F_EDGE_DETECTION_CLASS   1
 
#define F_CLASSIFICATION   2
 
#define F_INTERPOLATION   3
 
#define F_COUNTER_OBJ   4
 
#define PRE_TERRAIN   1
 
#define PRE_EDGE   2
 
#define PRE_UNKNOWN   3
 
#define TERRAIN_SINGLE   1
 
#define TERRAIN_DOUBLE   2
 
#define OBJECT_DOUBLE   3
 
#define OBJECT_SINGLE   4
 
#define SINGLE_PULSE   1
 
#define DOUBLE_PULSE   2
 
#define P_BILINEAR   1
 
#define P_BICUBIC   0
 

Functions

void P_zero_dim (struct Reg_dimens *)
 
int P_set_dim (struct Reg_dimens *, double, double, int *, int *)
 
int P_set_regions (struct Cell_head *, struct bound_box *, struct bound_box *, struct Reg_dimens, int)
 
int P_get_edge (int, struct Reg_dimens *, double, double)
 
int P_get_BandWidth (int, int)
 
double P_estimate_splinestep (struct Map_info *, double *, double *)
 
struct PointP_Read_Vector_Region_Map (struct Map_info *, struct Cell_head *, int *, int, int)
 
struct PointP_Read_Raster_Region_Map (SEGMENT *, struct Cell_head *, struct Cell_head *, int *, int)
 
double P_Mean_Calc (struct Cell_head *, struct Point *, int)
 
void P_Sparse_Points (struct Map_info *, struct Cell_head *, struct bound_box, struct bound_box, double **, double *, int *, double, double, double, int, int, int, int, struct line_cats *, dbDriver *, double, char *)
 
int P_Regular_Points (struct Cell_head *, struct Cell_head *, struct bound_box, struct bound_box, SEGMENT *, double *, double, double, double, double, int, int, int, int, int)
 
int P_Create_Aux2_Table (dbDriver *, char *)
 
int P_Create_Aux4_Table (dbDriver *, char *)
 
int P_Drop_Aux_Table (dbDriver *, char *)
 
void P_Aux_to_Raster (double **, int)
 
void P_Aux_to_Vector (struct Map_info *, struct Map_info *, dbDriver *, char *)
 
double ** P_Null_Matrix (double **)
 
void normalDefBicubic (double **N, double *TN, double *Q, double **obsVect, double deltaX, double deltaY, int xNum, int yNum, double xMin, double yMin, int obsNum, int parNum, int BW)
 
void normalDefBilin (double **N, double *TN, double *Q, double **obsVect, double deltaX, double deltaY, int xNum, int yNum, double xMin, double yMin, int obsNum, int parNum, int BW)
 
void nCorrectLapl (double **N, double lambda, int xNum, int yNum, double deltaX, double deltaY)
 
void nCorrectGrad (double **N, double lambda, int xNum, int yNum, double deltaX, double deltaY)
 
void obsEstimateBicubic (double **obsV, double *obsE, double *parV, double deltX, double deltY, int xNm, int yNm, double xMi, double yMi, int obsN)
 
double dataInterpolateBicubic (double x, double y, double deltaX, double deltaY, int xNum, int yNum, double xMin, double yMin, double *parVect)
 
void obsEstimateBilin (double **obsV, double *obsE, double *parV, double deltX, double deltY, int xNm, int yNm, double xMi, double yMi, int obsN)
 
double dataInterpolateBilin (double x, double y, double deltaX, double deltaY, int xNum, int yNum, double xMin, double yMin, double *parVect)
 

Macro Definition Documentation

◆ CONTOUR

#define CONTOUR   15

Definition at line 38 of file lidar.h.

◆ DOUBLE_PULSE

#define DOUBLE_PULSE   2

Definition at line 61 of file lidar.h.

◆ F_CLASSIFICATION

#define F_CLASSIFICATION   2

Definition at line 47 of file lidar.h.

◆ F_COUNTER_OBJ

#define F_COUNTER_OBJ   4

Definition at line 49 of file lidar.h.

◆ F_EDGE_DETECTION_CLASS

#define F_EDGE_DETECTION_CLASS   1

Definition at line 46 of file lidar.h.

◆ F_INTERPOLATION

#define F_INTERPOLATION   3

Definition at line 48 of file lidar.h.

◆ FIRST_COLUMN

#define FIRST_COLUMN   4

Definition at line 43 of file lidar.h.

◆ FIRST_ROW

#define FIRST_ROW   2

Definition at line 41 of file lidar.h.

◆ GENERAL_COLUMN

#define GENERAL_COLUMN   1

Definition at line 40 of file lidar.h.

◆ GENERAL_ROW

#define GENERAL_ROW   0

Definition at line 39 of file lidar.h.

◆ LAST_COLUMN

#define LAST_COLUMN   5

Definition at line 44 of file lidar.h.

◆ LAST_ROW

#define LAST_ROW   3

Definition at line 42 of file lidar.h.

◆ LATO

#define LATO   1000 /* Side's size for v.lidar.growing. */

Definition at line 37 of file lidar.h.

◆ NSPLX_MAX

#define NSPLX_MAX   150 /* Maximum number of splines along East direction used in the subregions interpolation */

MODULE: lidarlib

AUTHOR(S): Roberto Antolin

PURPOSE: LIDAR library

COPYRIGHT: (C) 2006 by Politecnico di Milano - Polo Regionale di Como

This program is free software under the GNU General Public License (>=v2). Read the file COPYING that comes with GRASS for details.

Definition at line 34 of file lidar.h.

◆ NSPLY_MAX

#define NSPLY_MAX   150 /* Maximum number of splines along North direction used in the subregions interpolation */

Definition at line 35 of file lidar.h.

◆ OBJECT_DOUBLE

#define OBJECT_DOUBLE   3

Definition at line 57 of file lidar.h.

◆ OBJECT_SINGLE

#define OBJECT_SINGLE   4

Definition at line 58 of file lidar.h.

◆ OVERLAP_SIZE

#define OVERLAP_SIZE   10 /* Subregions overlapping size. */

Definition at line 36 of file lidar.h.

◆ P_BICUBIC

#define P_BICUBIC   0

Definition at line 64 of file lidar.h.

◆ P_BILINEAR

#define P_BILINEAR   1

Definition at line 63 of file lidar.h.

◆ PRE_EDGE

#define PRE_EDGE   2

Definition at line 52 of file lidar.h.

◆ PRE_TERRAIN

#define PRE_TERRAIN   1

Definition at line 51 of file lidar.h.

◆ PRE_UNKNOWN

#define PRE_UNKNOWN   3

Definition at line 53 of file lidar.h.

◆ SINGLE_PULSE

#define SINGLE_PULSE   1

Definition at line 60 of file lidar.h.

◆ TERRAIN_DOUBLE

#define TERRAIN_DOUBLE   2

Definition at line 56 of file lidar.h.

◆ TERRAIN_SINGLE

#define TERRAIN_SINGLE   1

Definition at line 55 of file lidar.h.

Function Documentation

◆ dataInterpolateBicubic()

double dataInterpolateBicubic ( double  x,
double  y,
double  deltaX,
double  deltaY,
int  xNum,
int  yNum,
double  xMin,
double  yMin,
double *  parVect 
)

Definition at line 533 of file InterpSpline.c.

References h, node_x(), node_y(), order(), phi_33(), phi_34(), phi_43(), phi_44(), and x.

Referenced by P_Regular_Points(), and P_Sparse_Points().

◆ dataInterpolateBilin()

double dataInterpolateBilin ( double  x,
double  y,
double  deltaX,
double  deltaY,
int  xNum,
int  yNum,
double  xMin,
double  yMin,
double *  parVect 
)

Definition at line 644 of file InterpSpline.c.

References h, node_x(), node_y(), order(), phi(), and x.

Referenced by P_Regular_Points(), and P_Sparse_Points().

◆ nCorrectGrad()

void nCorrectGrad ( double **  N,
double  lambda,
int  xNum,
int  yNum,
double  deltaX,
double  deltaY 
)

Definition at line 432 of file InterpSpline.c.

References N.

◆ nCorrectLapl()

void nCorrectLapl ( double **  N,
double  lambda,
int  xNum,
int  yNum,
double  deltaX,
double  deltaY 
)

Definition at line 211 of file InterpSpline.c.

References h, N, and order().

◆ normalDefBicubic()

void normalDefBicubic ( double **  N,
double *  TN,
double *  Q,
double **  obsVect,
double  deltaX,
double  deltaY,
int  xNum,
int  yNum,
double  xMin,
double  yMin,
int  obsNum,
int  parNum,
int  BW 
)

Definition at line 108 of file InterpSpline.c.

References h, N, node_x(), node_y(), order(), phi_33(), phi_34(), phi_43(), phi_44(), and Q().

◆ normalDefBilin()

void normalDefBilin ( double **  N,
double *  TN,
double *  Q,
double **  obsVect,
double  deltaX,
double  deltaY,
int  xNum,
int  yNum,
double  xMin,
double  yMin,
int  obsNum,
int  parNum,
int  BW 
)

Definition at line 313 of file InterpSpline.c.

References h, N, node_x(), node_y(), order(), phi(), and Q().

◆ obsEstimateBicubic()

void obsEstimateBicubic ( double **  obsV,
double *  obsE,
double *  parV,
double  deltX,
double  deltY,
int  xNm,
int  yNm,
double  xMi,
double  yMi,
int  obsN 
)

Definition at line 467 of file InterpSpline.c.

References h, node_x(), node_y(), order(), phi_33(), phi_34(), phi_43(), and phi_44().

◆ obsEstimateBilin()

void obsEstimateBilin ( double **  obsV,
double *  obsE,
double *  parV,
double  deltX,
double  deltY,
int  xNm,
int  yNm,
double  xMi,
double  yMi,
int  obsN 
)

Definition at line 595 of file InterpSpline.c.

References h, node_x(), node_y(), order(), and phi().

◆ P_Aux_to_Raster()

void P_Aux_to_Raster ( double **  matrix,
int  fd 
)

◆ P_Aux_to_Vector()

◆ P_Create_Aux2_Table()

◆ P_Create_Aux4_Table()

◆ P_Drop_Aux_Table()

int P_Drop_Aux_Table ( dbDriver driver,
char *  tab_name 
)

Definition at line 523 of file zones.c.

References db_append_string(), db_execute_immediate(), and db_init_string().

◆ P_estimate_splinestep()

◆ P_get_BandWidth()

int P_get_BandWidth ( int  interpolator,
int  nsplines 
)

Definition at line 208 of file zones.c.

References P_BILINEAR.

◆ P_get_edge()

int P_get_edge ( int  interpolator,
struct Reg_dimens dim,
double  pe,
double  pn 
)

Definition at line 187 of file zones.c.

References Reg_dimens::edge_h, Reg_dimens::edge_v, P_BICUBIC, and P_BILINEAR.

◆ P_Mean_Calc()

double P_Mean_Calc ( struct Cell_head Elaboration,
struct Point obs,
int  npoints 
)

◆ P_Null_Matrix()

double ** P_Null_Matrix ( double **  )

◆ P_Read_Raster_Region_Map()

struct Point * P_Read_Raster_Region_Map ( SEGMENT in_seg,
struct Cell_head Elaboration,
struct Cell_head Original,
int *  num_points,
int  dim_vect 
)

◆ P_Read_Vector_Region_Map()

struct Point * P_Read_Vector_Region_Map ( struct Map_info Map,
struct Cell_head Elaboration,
int *  num_points,
int  dim_vect,
int  layer 
)

◆ P_Regular_Points()

int P_Regular_Points ( struct Cell_head Elaboration,
struct Cell_head Original,
struct bound_box  General,
struct bound_box  Overlap,
SEGMENT out_seg,
double *  param,
double  passoN,
double  passoE,
double  overlap,
double  mean,
int  nsplx,
int  nsply,
int  nrows,
int  ncols,
int  bilin 
)

◆ P_set_dim()

int P_set_dim ( struct Reg_dimens dim,
double  pe,
double  pn,
int *  nsplx,
int *  nsply 
)

◆ P_set_regions()

◆ P_Sparse_Points()

void P_Sparse_Points ( struct Map_info Out,
struct Cell_head Elaboration,
struct bound_box  General,
struct bound_box  Overlap,
double **  obs,
double *  param,
int *  line_num,
double  pe,
double  pn,
double  overlap,
int  nsplx,
int  nsply,
int  num_points,
int  bilin,
struct line_cats categories,
dbDriver driver,
double  mean,
char *  tab_name 
)

◆ P_zero_dim()

void P_zero_dim ( struct Reg_dimens dim)