forked from LAStools/LAStools
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlaslayers_README.txt
195 lines (126 loc) · 6.91 KB
/
laslayers_README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
Get the prototype with data from
http://lastools.org/download/ll.zip
This is a preview of a prototype (!!!) for LASlayers. Please be advised that the LAY format is likely to see (incompatible) changes as development progresses. We do not want to present a fait-accompli to the benefit of LAStools users alone but would like to make this an open format. Hence this is also a call for input. Ideally LASlayers can include a set of "basic enhancement layers" for LAS files that the LiDAR community can agree upon and - some far day in the future - may even see integration across different LiDAR software packages.
We provide here a ready-made prototype because we want to have something to show that is more than just an idea cooked up by our scientists. We are releasing this just in time for ILMF 2014 so folks who have already seen and tested it during our (secret) pre-release can freely small-talk about it during the conference and get back to us with ideas, concerns, and bug reports.
The following comes as three exercises: (1) a first look at LASlayers with 'lasview', 'las2dem', and 'laslayers', (2) work with LASlayers using various LAStools for more I/O and storage efficiency, (3) create LASlayers as difference files between an original and a modified LAS/LAZ file using 'laslayers'. To get started open a CMD shell and go to whereever you unzipped the ll directory to. You will see the following:
C:\ll>dir
02/02/2014 05:32 AM 1,478,656 las2dem.exe
02/02/2014 05:50 AM 946,176 lasclassify.exe
02/02/2014 06:35 AM 1,290,240 lascolor.exe
02/02/2014 10:50 AM 802,816 lasdiff.exe
02/02/2014 04:35 AM 991,232 lasground.exe
02/02/2014 05:48 AM 958,464 lasheight.exe
02/02/2014 12:04 PM 602,112 laslayers.exe
02/02/2014 04:29 AM 937,984 lasnoise.exe
02/02/2014 05:14 AM 905,216 lasview.exe
02/02/2014 06:44 AM 561,774 ll.lay
02/02/2014 03:44 AM 1,037,443 ll.laz
02/02/2014 09:24 AM 1,025,871 ll_modified.laz
02/02/2014 06:41 AM 1,018,380 ortho.tif
02/02/2014 12:06 PM 5,851 README.txt
====================================================
== (1) == first look at LASlayers ++
====================================================
Have a look at the ll.laz file with 'lasview':
lasview -i ll.laz
Now add the LASlayers contained in the 'll.lay' file:
lasview -i ll.laz -ilay
Now put on layer by layer (or strip-off going in reverse):
lasview -i ll.laz -ilay 0
lasview -i ll.laz -ilay 1
lasview -i ll.laz -ilay 2
lasview -i ll.laz -ilay 3
lasview -i ll.laz -ilay 4
Now have a look at the LASlayers inside the 'll.lay' file:
laslayers -i ll.laz
Now apply all LASlayers to create a new 'll_lay4.laz' file:
laslayers -i ll.laz -ilay -o ll_lay4.laz
lasview -i ll_lay4.laz
Now apply only the first two LASlayers:
laslayers -i ll.laz -ilay 2 -o ll_lay2.laz
lasview -i ll_lay2.laz
====================================================
== (2) == work with LASlayers using LAStools ++
====================================================
Imagine we obtained raw LAZ tiles and orthos from a customer and are now producing the desired products with LASlayers.
Classify isolated points as noise (7) with 'lasnoise':
lasnoise -i ll.laz -olay
laslayers -i ll.laz
lasview -i ll.laz -ilay
Or - alternatively - delete isolated points:
lasnoise -i ll.laz -olay -remove_noise
laslayers -i ll.laz
lasview -i ll.laz -ilay
Create a noise-free DSM with 'lasgrid':
las2dem -i ll.laz -ilay -first_only -step 0.5 -hillshade -odix _dsm -opng
Delete xyz-duplicate points with 'lasduplicate':
lasduplicate -i ll.laz -ilay -unique_xyz -olay
laslayers -i ll.laz
lasview -i ll.laz -ilay
Ground classify the noise-free points with 'lasground':
lasground -i ll.laz -ilay -fine -olay
laslayers -i ll.laz
lasview -i ll.laz -ilay
Create a DTM with 'las2dem':
las2dem -i ll.laz -ilay -keep_class 2 -step 0.5 -hillshade -odix _dtm -opng
Compute the height of points above the ground and store an approximation to user_data with 'lasheight':
lasheight -i ll.laz -ilay -olay
laslayers -i ll.laz
lasview -i ll.laz -ilay -color_by_user_data
Classify building and forest points with 'lasclassify':
lasclassify -i ll.laz -ilay -olay
laslayers -i ll.laz
lasview -i ll.laz -ilay
We do not like the result and want to adapt some parameters. Therefore we delete the last layers with 'laslayers':
laslayers -i ll.laz -del 5
laslayers -i ll.laz
lasview -i ll.laz -ilay
Classify again using different parameters with 'lasclassify':
lasclassify -i ll.laz -ilay -olay -rugged 2 -step 0.5
laslayers -i ll.laz
lasview -i ll.laz -ilay
Create raster splatted points only where vegetation is high with 'lasgrid':
lasgrid -i ll.laz -ilay -keep_class 5 -subcircle 0.1 -step 0.5 -highest -false -use_bb -odix _veg -opng
Create polygons around high vegetation areas with 'lasboundary':
lasboundary -i ll.laz -ilay -keep_class 5 -concavity 1.0 -disjoint -odix _veg -oshp
Normalize the elevations to height above ground with 'lasheight':
lasheight -i ll.laz -ilay -replace_z -olay
laslayers -i ll.laz
lasview -i ll.laz -ilay -color_by_elevation2
Create forestry metrics canopy cover and 50 / 75 / 95 percentile with 'lasheight':
lascanopy -i ll.laz -ilay -cov -p 50 75 95 -step 5 -oasc
lasview -i ll_p50.asc ll_p75.asc ll_p95.asc -files_are_flightlines -color_by_flightline
Color the points using an ortho TIF image with 'lascolor':
lascolor -i ll.laz -ilay -image ortho.tif -olay
laslayers -i ll.laz
lasview -i ll.laz -ilay
Look at the command sequence that got us here with 'laslayers':
laslayers -i ll.laz -short
Delete layer 4 (no longer needed) to make the LASlayers file smaller with 'laslayers'.
laslayers -i ll.laz -del 4
laslayers -i ll.laz
lasview -i ll.laz -ilay
Send the resulting small LAY file instead of the larger LAZ file back to the customer.
====================================================
== (3) == create LASlayers difference files ++
====================================================
We have a raw and a modified LAS file and want to create LASlayers that express the difference between them, storing only those parts that have actually changed which is much more compact.
Look at the modified LAZ file with 'lasview':
lasview -i ll_modified.laz
Create LASlayers that express the difference to the raw file with 'laslayers':
laslayers -i ll.laz -i ll_modified.laz -olay
laslayers -i ll.laz
lasview -i ll.laz -ilay
lasview -i ll.laz -ilay 1
lasview -i ll.laz -ilay 2
lasview -i ll.laz -ilay 3
Apply LASlayers to the raw file to produce the modified one with 'laslayers'.
laslayers.exe -i ll.laz -ilay -o ll_applied.laz
lasview -i ll_applied.laz
Make sure the two are identical with 'lasdiff':
lasdiff -i ll_modified.laz -i ll_applied.laz
====================================================
Now try on your own data and please report back with bugs, suggestions, and missing features.
--
http://rapidlasso.com - fast tools to catch reality