GRASS 8 Programmer's Manual 8.5.0(2026)-8d6ceba290
Loading...
Searching...
No Matches
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   150
#define NSPLY_MAX   150
#define OVERLAP_SIZE   10
#define LATO   1000
#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 Point * P_Read_Vector_Region_Map (struct Map_info *, struct Cell_head *, int *, int, int)
struct Point * P_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 41 of file lidar.h.

Referenced by P_Mean_Calc().

◆ DOUBLE_PULSE

#define DOUBLE_PULSE   2

Definition at line 64 of file lidar.h.

◆ F_CLASSIFICATION

#define F_CLASSIFICATION   2

Definition at line 50 of file lidar.h.

◆ F_COUNTER_OBJ

#define F_COUNTER_OBJ   4

Definition at line 52 of file lidar.h.

◆ F_EDGE_DETECTION_CLASS

#define F_EDGE_DETECTION_CLASS   1

Definition at line 49 of file lidar.h.

◆ F_INTERPOLATION

#define F_INTERPOLATION   3

Definition at line 51 of file lidar.h.

◆ FIRST_COLUMN

#define FIRST_COLUMN   4

Definition at line 46 of file lidar.h.

Referenced by P_set_regions().

◆ FIRST_ROW

#define FIRST_ROW   2

Definition at line 44 of file lidar.h.

Referenced by P_set_regions().

◆ GENERAL_COLUMN

#define GENERAL_COLUMN   1

Definition at line 43 of file lidar.h.

Referenced by P_set_regions().

◆ GENERAL_ROW

#define GENERAL_ROW   0

Definition at line 42 of file lidar.h.

Referenced by P_set_regions().

◆ LAST_COLUMN

#define LAST_COLUMN   5

Definition at line 47 of file lidar.h.

Referenced by P_set_regions().

◆ LAST_ROW

#define LAST_ROW   3

Definition at line 45 of file lidar.h.

Referenced by P_set_regions().

◆ LATO

#define LATO   1000

Definition at line 40 of file lidar.h.

◆ NSPLX_MAX

#define NSPLX_MAX   150

Definition at line 33 of file lidar.h.

◆ NSPLY_MAX

#define NSPLY_MAX   150

Definition at line 36 of file lidar.h.

◆ OBJECT_DOUBLE

#define OBJECT_DOUBLE   3

Definition at line 60 of file lidar.h.

◆ OBJECT_SINGLE

#define OBJECT_SINGLE   4

Definition at line 61 of file lidar.h.

◆ OVERLAP_SIZE

#define OVERLAP_SIZE   10

Definition at line 39 of file lidar.h.

◆ P_BICUBIC

#define P_BICUBIC   0

Definition at line 67 of file lidar.h.

Referenced by P_get_edge().

◆ P_BILINEAR

#define P_BILINEAR   1

Definition at line 66 of file lidar.h.

Referenced by P_get_BandWidth(), and P_get_edge().

◆ PRE_EDGE

#define PRE_EDGE   2

Definition at line 55 of file lidar.h.

◆ PRE_TERRAIN

#define PRE_TERRAIN   1

Definition at line 54 of file lidar.h.

◆ PRE_UNKNOWN

#define PRE_UNKNOWN   3

Definition at line 56 of file lidar.h.

◆ SINGLE_PULSE

#define SINGLE_PULSE   1

Definition at line 63 of file lidar.h.

◆ TERRAIN_DOUBLE

#define TERRAIN_DOUBLE   2

Definition at line 59 of file lidar.h.

◆ TERRAIN_SINGLE

#define TERRAIN_SINGLE   1

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

◆ dataInterpolateBilin()

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

◆ nCorrectGrad()

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

Definition at line 399 of file InterpSpline.c.

References nCorrectGrad().

Referenced by nCorrectGrad(), and P_Null_Matrix().

◆ nCorrectLapl()

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

Definition at line 199 of file InterpSpline.c.

References nCorrectLapl(), and order().

Referenced by nCorrectLapl(), and P_Null_Matrix().

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

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

Referenced by normalDefBicubic(), and P_Null_Matrix().

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

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

Referenced by normalDefBilin(), and P_Null_Matrix().

◆ obsEstimateBicubic()

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

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

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

Referenced by obsEstimateBilin(), and P_Null_Matrix().

◆ P_Aux_to_Raster()

void P_Aux_to_Raster ( double ** matrix,
int fd )

Definition at line 540 of file zones.c.

References G_incr_void_ptr(), G_percent(), and P_Aux_to_Raster().

Referenced by P_Aux_to_Raster().

◆ P_Aux_to_Vector()

void P_Aux_to_Vector ( struct Map_info * Map,
struct Map_info * Out,
dbDriver * driver,
char * tab_name )

Definition at line 565 of file zones.c.

References Point::coordX, Point::coordY, Point::coordZ, and P_Aux_to_Vector().

Referenced by P_Aux_to_Vector().

◆ P_Create_Aux2_Table()

int P_Create_Aux2_Table ( dbDriver * driver,
char * tab_name )

Definition at line 465 of file zones.c.

References FALSE, G_debug(), G_warning(), P_Create_Aux2_Table(), and TRUE.

Referenced by P_Create_Aux2_Table().

◆ P_Create_Aux4_Table()

int P_Create_Aux4_Table ( dbDriver * driver,
char * tab_name )

Definition at line 493 of file zones.c.

References FALSE, G_debug(), G_warning(), P_Create_Aux4_Table(), and TRUE.

Referenced by 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 P_Drop_Aux_Table().

Referenced by P_Drop_Aux_Table().

◆ P_estimate_splinestep()

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

Definition at line 259 of file zones.c.

References G_get_set_window(), NULL, P_estimate_splinestep(), and x.

Referenced by P_estimate_splinestep().

◆ P_get_BandWidth()

int P_get_BandWidth ( int interpolator,
int nsplines )

Definition at line 218 of file zones.c.

References P_BILINEAR, and P_get_BandWidth().

Referenced by P_get_BandWidth().

◆ 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, P_BILINEAR, and P_get_edge().

Referenced by P_get_edge().

◆ P_Mean_Calc()

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

Definition at line 231 of file zones.c.

References CONTOUR, Point::coordZ, and P_Mean_Calc().

Referenced by P_Mean_Calc().

◆ P_Null_Matrix()

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

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

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