GRASS GIS 8 Programmer's Manual 8.3.2(2024)-exported
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
 
#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.

Referenced by P_Mean_Calc().

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

Referenced by P_set_regions().

◆ FIRST_ROW

#define FIRST_ROW   2

Definition at line 42 of file lidar.h.

Referenced by P_set_regions().

◆ GENERAL_COLUMN

#define GENERAL_COLUMN   1

Definition at line 41 of file lidar.h.

Referenced by P_set_regions().

◆ GENERAL_ROW

#define GENERAL_ROW   0

Definition at line 40 of file lidar.h.

Referenced by P_set_regions().

◆ LAST_COLUMN

#define LAST_COLUMN   5

Definition at line 45 of file lidar.h.

Referenced by P_set_regions().

◆ LAST_ROW

#define LAST_ROW   3

Definition at line 43 of file lidar.h.

Referenced by P_set_regions().

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

Referenced by P_get_edge().

◆ P_BILINEAR

#define P_BILINEAR   1

Definition at line 64 of file lidar.h.

Referenced by P_get_BandWidth(), and P_get_edge().

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

References 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 604 of file InterpSpline.c.

References 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 399 of file InterpSpline.c.

◆ nCorrectLapl()

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

Definition at line 199 of file InterpSpline.c.

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

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

◆ 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(), order(), and phi().

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

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

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

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

◆ P_Aux_to_Vector()

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

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

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

◆ P_Drop_Aux_Table()

int P_Drop_Aux_Table ( dbDriver * driver,
char * tab_name )

Definition at line 529 of file zones.c.

◆ 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, and x.

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

Definition at line 231 of file zones.c.

References CONTOUR, and Point::coordZ.

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

References Point::coordX, Point::coordY, Point::coordZ, Segment_get(), and x.

◆ 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, Point::coordX, Point::coordY, Point::coordZ, Point::lineID, NULL, and x.

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

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

References dataInterpolateBicubic(), dataInterpolateBilin(), and G_fatal_error().

◆ P_zero_dim()

void P_zero_dim ( struct Reg_dimens * dim)