Learn R Programming

spanner (version 1.0.2)

eigen_metrics: Calculates eigen decomposition metrics for fixed neighborhood point cloud data

Description

This function calculates twelve (plus the first and second PCA) for several point geometry-related metrics (listed below) in parallel using C++ for a user-specified radius.

Usage

eigen_metrics(las = las, radius = 0.1, ncpu = 8)

Value

A labeled data.table of point metrics for each point in the LAS object

Arguments

las

LAS Normalized las object.

radius

numeric the radius of the neighborhood

ncpu

integer the number of cpu's to be used in parallelfor the calculation

List of available point metrics

  • eLargest: first eigenvalue, _1ASCII representation

  • eMedium: second eigenvalue, _2ASCII representation

  • eSmallest: third eigenvalue, _3ASCII representation

  • eSum: sum of eigenvalues, _i=1^n=3 _iASCII representation

  • Curvature: surface variation, _3 / _i=1^n=3 _iASCII representation

  • Omnivariance: high values correspond to spherical features and low values to planes or linear features, (_1 * _2 * _3)^1/3ASCII representation

  • Anisotropy: relationships between the directions of the point distribution, (_1 - _3) / _1ASCII representation

  • Eigentropy: entropy in the eigenvalues, - _i=1^n=3 _i * ln(_i)ASCII representation

  • Linearity: linear saliency, (_1 - _2) / _1ASCII representation

  • Verticality: vertical saliency, 1-abs( (0,0,1),e_3)ASCII representation

  • Planarity: planar saliency, (_2 - _3) / _1ASCII representation

  • Sphericity: spherical saliency, _3 / _1ASCII representation

  • Nx,Ny,Nz: 3 components of the normal vector (smallest eigenvector)

  • SurfaceVariation: surface variation (change of curvature), same as Curvature

  • ChangeCurvature: alternative name for surface variation

  • SurfaceDensity: 2D point density using circle area, k / ( R^2)ASCII representation

  • VolumeDensity: 3D point density using sphere volume, k / (43 R^3)ASCII representation

  • MomentOrder1: 1st order moment from CloudCompare, projection onto 2nd eigenvector, m_1^2 / m_2ASCII representation

  • NormalChangeRate: normal change rate, same as Curvature, _3 / _i=1^n=3 _iASCII representation

  • Roughness: distance from query point to fitted plane, |d n|ASCII representation

  • MeanCurvature: mean curvature from quadric surface fitting, H = (1+f_y^2)f_xx - 2f_xf_yf_xy + (1+f_x^2)f_yy2(1+f_x^2+f_y^2)^3/2ASCII representation

  • GaussianCurvature: Gaussian curvature from quadric surface fitting, K = f_xxf_yy - f_xy^2(1+f_x^2+f_y^2)^2ASCII representation

  • PCA1: eigenvector projection variance normalized by eigensum, _PC1^2 / _i=1^n=3 _iASCII representation

  • PCA2: eigenvector projection variance normalized by eigensum, _PC2^2 / _i=1^n=3 _iASCII representation

  • NumNeighbors: number of points in the spherical neighborhood, kASCII representation

Examples

Run this code
# \donttest{
LASfile <- system.file("extdata", "MixedConifer.laz", package="lidR")
las <- readLAS(LASfile)
eigen = eigen_metrics(las, radius=2, ncpu=4)
# }

Run the code above in your browser using DataLab