1v.lidar.edgedetection(1)    GRASS GIS User's Manual   v.lidar.edgedetection(1)
2
3
4

NAME

6       v.lidar.edgedetection   -  Detects the object’s edges from a LIDAR data
7       set.
8

KEYWORDS

10       vector, LIDAR, edges
11

SYNOPSIS

13       v.lidar.edgedetection
14       v.lidar.edgedetection --help
15       v.lidar.edgedetection  [-e]  input=name  output=name    [ew_step=float]
16       [ns_step=float]      [lambda_g=float]      [tgh=float]      [tgl=float]
17       [theta_g=float]   [lambda_r=float]   [--overwrite]   [--help]   [--ver‐
18       bose]  [--quiet]  [--ui]
19
20   Flags:
21       -e
22           Estimate point density and distance and quit
23           Estimate point density and distance in map units for the input vec‐
24           tor points within the current region extents and quit
25
26       --overwrite
27           Allow output files to overwrite existing files
28
29       --help
30           Print usage summary
31
32       --verbose
33           Verbose module output
34
35       --quiet
36           Quiet module output
37
38       --ui
39           Force launching GUI dialog
40
41   Parameters:
42       input=name [required]
43           Name of input vector map
44           Or data source for direct OGR access
45
46       output=name [required]
47           Name for output vector map
48
49       ew_step=float
50           Length of each spline step in the east-west direction
51           Default: 4 * east-west resolution
52
53       ns_step=float
54           Length of each spline step in the north-south direction
55           Default: 4 * north-south resolution
56
57       lambda_g=float
58           Regularization weight in gradient evaluation
59           Default: 0.01
60
61       tgh=float
62           High gradient threshold for edge classification
63           Default: 6
64
65       tgl=float
66           Low gradient threshold for edge classification
67           Default: 3
68
69       theta_g=float
70           Angle range for same direction detection
71           Default: 0.26
72
73       lambda_r=float
74           Regularization weight in residual evaluation
75           Default: 2
76

DESCRIPTION

78       v.lidar.edgedetection is the first of three steps to filter LiDAR data.
79       The  filter  aims to recognize and extract attached and detached object
80       (such as buildings, bridges, power lines,  trees, etc.)   in  order  to
81       create a Digital Terrain Model.
82
83       In particular, this module detects the edge of each single feature over
84       the terrain surface of a LIDAR point surface. First of all, a  bilinear
85       spline  interpolation  with a Tychonov regularization parameter is per‐
86       formed. The gradient is minimized and the low  Tychonov  regularization
87       parameter brings the interpolated functions as close as possible to the
88       observations. Bicubic spline interpolation with Tychonov regularization
89       is then performed. However, now the curvature is minimized and the reg‐
90       ularization parameter is set to a high value. For each point, an inter‐
91       polated  value is computed from the bicubic surface and an interpolated
92       gradient is computed from the bilinear surface. At each point the  gra‐
93       dient  magnitude  and  the direction of the edge vector are calculated,
94       and the residual between interpolated and observed values is  computed.
95       Two  thresholds are defined on the gradient, a high threshold tgh and a
96       low one tgl. For each point, if the gradient magnitude is greater  than
97       or  equal  to  the  high  threshold and its residual is greater than or
98       equal to zero, it is labeled as an EDGE point. Similarly a point is la‐
99       beled  as being an EDGE point if the gradient magnitude is greater than
100       or equal to the low threshold, its residual is greater than or equal to
101       zero,  and  the  gradient to two of eight neighboring points is greater
102       than the high threshold. Other points are classified as TERRAIN.
103
104       The length (in mapping units) of each spline step is defined by ew_step
105       for the east-west direction and ns_step for the north-south direction.
106
107       The  output will be a vector map in which points has been classified as
108       TERRAIN, EDGE or UNKNOWN. This vector map should be the input of  v.li‐
109       dar.growing module.
110

NOTES

112       In  this module, an external table will be created which will be useful
113       for the next module of the procedure of LiDAR data filtering.  In  this
114       table  the  interpolated  height values of each point will be recorded.
115       Also points in the output vector map will be classified as:
116       TERRAIN (cat = 1, layer = 1)
117       EDGE (cat = 2, layer = 1)
118       UNKNOWN (cat = 3, layer = 1)
119       The final result of the whole procedure  (v.lidar.edgedetection,  v.li‐
120       dar.growing, v.lidar.correction) will be a point classification in four
121       categories:
122       TERRAIN SINGLE PULSE (cat = 1, layer = 2)
123       TERRAIN DOUBLE PULSE (cat = 2, layer = 2)
124       OBJECT SINGLE PULSE (cat = 3, layer = 2)
125       OBJECT DOUBLE PULSE (cat = 4, layer = 2)
126

EXAMPLES

128   Basic edge detection
129       # last return points
130       v.lidar.edgedetection input=vector_last output=edge ew_step=8 ns_step=8 lambda_g=0.5
131
132   Complete workflow
133       # region settings (using an existing raster)
134       g.region raster=elev_lid792_1m
135       # import
136       v.in.lidar -tr input=points.las output=points
137       v.in.lidar -tr input=points.las output=points_first return_filter=first
138       # detection
139       v.lidar.edgedetection input=points output=edge ew_step=8 ns_step=8 lambda_g=0.5
140       v.lidar.growing input=edge output=growing first=points_first
141       v.lidar.correction input=growing output=correction terrain=only_terrain
142       # visualization of selected points
143       # zoom somewhere first, to make it faster
144       d.rast map=orthophoto
145       d.vect map=correction layer=2 cats=2,3,4 color=red size=0.25
146       d.vect map=correction layer=2 cats=1 color=0:128:0 size=0.5
147       # interpolation (this may take some time)
148       v.surf.rst input=only_terrain elevation=terrain
149       # get object points for 3D visualization
150       v.extract input=correction layer=2 cats=2,3,4 output=objects
151
152       Figure 1: Example output from complete workflow (red:  objects,  green:
153       terrain)
154
155        Figure 2: 3D visualization of filtered object points (red) and terrain
156       created from terrain points (gray)
157

REFERENCES

159           •   Antolin, R. et al., 2006. Digital terrain models  determination
160               by  LiDAR  technology:  Po  basin experimentation. Bolletino di
161               Geodesia e Scienze Affini, anno LXV, n. 2, pp. 69-89.
162
163           •   Brovelli M. A., Cannata M., Longoni U.M., 2004. LIDAR Data Fil‐
164               tering and DTM Interpolation Within GRASS, Transactions in GIS,
165               April 2004,  vol. 8, iss. 2, pp.  155-174(20),  Blackwell  Pub‐
166               lishing Ltd.
167
168           •   Brovelli  M. A., Cannata M., 2004. Digital Terrain model recon‐
169               struction in urban areas from airborne laser scanning data: the
170               method  and  an   example for Pavia (Northern Italy). Computers
171               and Geosciences 30 (2004) pp.325-331
172
173           •   Brovelli M. A. and Longoni U.M., 2003. Software per il filtrag‐
174               gio  di  dati  LIDAR,  Rivista  dell’Agenzia del Territorio, n.
175               3-2003, pp. 11-22 (ISSN 1593-2192).
176
177           •   Brovelli M. A., Cannata M. and Longoni U.M., 2002. DTM LIDAR in
178               area urbana, Bollettino SIFET N.2, pp. 7-26.
179
180           •   Performances  of  the  filter can be seen in the ISPRS WG III/3
181               Comparison of Filters report by Sithole, G. and Vosselman,  G.,
182               2003.
183

SEE ALSO

185          v.lidar.growing,   v.lidar.correction,  v.surf.bspline,  v.surf.rst,
186       v.in.lidar, v.in.ascii
187

AUTHORS

189       Original version of program in GRASS 5.4:
190       Maria Antonia Brovelli, Massimiliano Cannata, Ulisse Longoni and  Mirko
191       Reguzzoni
192       Update for GRASS 6.X:
193       Roberto Antolin and Gonzalo Moreno
194

SOURCE CODE

196       Available at: v.lidar.edgedetection source code (history)
197
198       Accessed: Saturday Jan 21 21:16:05 2023
199
200       Main  index  | Vector index | Topics index | Keywords index | Graphical
201       index | Full index
202
203       © 2003-2023 GRASS Development Team, GRASS GIS 8.2.1 Reference Manual
204
205
206
207GRASS 8.2.1                                           v.lidar.edgedetection(1)
Impressum