GRASS GIS 8 Programmer's Manual  8.4.0dev(2024)-535c39c9fc
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.

Data Structures

struct  Reg_dimens
 
struct  Point
 
struct  element
 

Macros

#define NSPLX_MAX
 
#define NSPLY_MAX
 
#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 39 of file lidar.h.

◆ DOUBLE_PULSE

#define DOUBLE_PULSE   2

Definition at line 62 of file lidar.h.

◆ F_CLASSIFICATION

#define F_CLASSIFICATION   2

Definition at line 48 of file lidar.h.

◆ F_COUNTER_OBJ

#define F_COUNTER_OBJ   4

Definition at line 50 of file lidar.h.

◆ F_EDGE_DETECTION_CLASS

#define F_EDGE_DETECTION_CLASS   1

Definition at line 47 of file lidar.h.

◆ F_INTERPOLATION

#define F_INTERPOLATION   3

Definition at line 49 of file lidar.h.

◆ FIRST_COLUMN

#define FIRST_COLUMN   4

Definition at line 44 of file lidar.h.

◆ FIRST_ROW

#define FIRST_ROW   2

Definition at line 42 of file lidar.h.

◆ GENERAL_COLUMN

#define GENERAL_COLUMN   1

Definition at line 41 of file lidar.h.

◆ GENERAL_ROW

#define GENERAL_ROW   0

Definition at line 40 of file lidar.h.

◆ LAST_COLUMN

#define LAST_COLUMN   5

Definition at line 45 of file lidar.h.

◆ LAST_ROW

#define LAST_ROW   3

Definition at line 43 of file lidar.h.

◆ LATO

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

Definition at line 38 of file lidar.h.

◆ NSPLX_MAX

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

Definition at line 33 of file lidar.h.

◆ NSPLY_MAX

#define NSPLY_MAX
Value:
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 58 of file lidar.h.

◆ OBJECT_SINGLE

#define OBJECT_SINGLE   4

Definition at line 59 of file lidar.h.

◆ OVERLAP_SIZE

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

Definition at line 37 of file lidar.h.

◆ P_BICUBIC

#define P_BICUBIC   0

Definition at line 65 of file lidar.h.

◆ P_BILINEAR

#define P_BILINEAR   1

Definition at line 64 of file lidar.h.

◆ PRE_EDGE

#define PRE_EDGE   2

Definition at line 53 of file lidar.h.

◆ PRE_TERRAIN

#define PRE_TERRAIN   1

Definition at line 52 of file lidar.h.

◆ PRE_UNKNOWN

#define PRE_UNKNOWN   3

Definition at line 54 of file lidar.h.

◆ SINGLE_PULSE

#define SINGLE_PULSE   1

Definition at line 61 of file lidar.h.

◆ TERRAIN_DOUBLE

#define TERRAIN_DOUBLE   2

Definition at line 57 of file lidar.h.

◆ TERRAIN_SINGLE

#define TERRAIN_SINGLE   1

Definition at line 56 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 497 of file InterpSpline.c.

◆ dataInterpolateBilin()

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

Definition at line 604 of file InterpSpline.c.

◆ nCorrectGrad()

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

Definition at line 399 of file InterpSpline.c.

References N.

◆ nCorrectLapl()

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

Definition at line 199 of file InterpSpline.c.

◆ 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 107 of file InterpSpline.c.

◆ 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 291 of file InterpSpline.c.

◆ 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 434 of file InterpSpline.c.

◆ 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 556 of file InterpSpline.c.

◆ P_Aux_to_Raster()

void P_Aux_to_Raster ( double **  matrix,
int  fd 
)

Definition at line 540 of file zones.c.

◆ P_Aux_to_Vector()

void P_Aux_to_Vector ( struct Map_info ,
struct Map_info ,
dbDriver ,
char *   
)

◆ 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 529 of file zones.c.

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

◆ P_estimate_splinestep()

double P_estimate_splinestep ( struct Map_info Map,
double *  dens,
double *  dist 
)

Definition at line 259 of file zones.c.

◆ P_get_BandWidth()

int P_get_BandWidth ( int  interpolator,
int  nsplines 
)

Definition at line 218 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 196 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 
)

Definition at line 387 of file zones.c.

◆ 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 
)

Definition at line 322 of file zones.c.

References Point::cat.

◆ 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 
)

Definition at line 195 of file lidar/raster.c.

◆ P_set_dim()

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

◆ P_set_regions()

int P_set_regions ( struct Cell_head Elaboration,
struct bound_box General,
struct bound_box Overlap,
struct Reg_dimens  dim,
int  type 
)

Definition at line 53 of file zones.c.

◆ 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 
)

Definition at line 8 of file lidar/raster.c.

◆ P_zero_dim()

void P_zero_dim ( struct Reg_dimens dim)