1

I have an LVIS waveform LiDAR file which looks like this:

head(lidar)
           V1      V2          V3           V4          V5           V6          V7           V8          V9
[1,] 529437.4 4966194 0.000608380  0.000067737 0.000212176  0.000171945 0.000062599  0.000913602 0.001354659
[2,] 529401.1 4966205 0.000574129 -0.000083901 0.000598198 -0.000124780 0.001289195 -0.000069118 0.001239798
[3,] 529421.0 4966211 0.001361471  0.000759721 0.002047902  0.001531523 0.000785660  0.000718898 0.001417265
[4,] 529441.0 4966216 0.001550620  0.001439063 0.001425855  0.001602712 0.002766050  0.001392409 0.001316686
[5,] 529429.3 4966235 0.001218291  0.000860475 0.000587853  0.000646795 0.000652875  0.000569392 0.001172389
[6,] 529409.2 4966229 0.000363583  0.001409501 0.000631517  0.000835653 0.000849753  0.000280018 0.000865165
             V10         V11         V12         V13         V14         V15          V16         V17
[1,] 0.000707322 0.000922818 0.000865636 0.000487058 0.000429923 0.000910006  0.001296637 0.000787348
[2,] 0.000653536 0.000597434 0.000572901 0.001305983 0.000599163 0.001322806 -0.000088809 0.001266157
[3,] 0.001407048 0.002147792 0.000798765 0.001396288 0.001446622 0.001452398  0.001384238 0.002826389
[4,] 0.000155622 0.001480598 0.000775280 0.001507099 0.001487691 0.001259001  0.000203995 0.001371990
[5,] 0.001352416 0.001410255 0.000734748 0.001138494 0.001381453 0.001323874  0.001337453 0.001337283
[6,] 0.000906885 0.000114350 0.001470484 0.000979770 0.001269763 0.001143270  0.000623536 0.001674105

> str(lidar)
 num [1:12414, 1:153] 529437 529401 529421 529441 529429 ...
 - attr(*, "dimnames")=List of 2
  ..$ : NULL
  ..$ : chr [1:153] "V1" "V2" "V3" "V4" ...

Column V1 is the X coordinate and column V2 is the Y coordinate.

The rest of the columns (3-153) represent the waveforms.

How do I convert this data to a discrete return LiDAR format (or to something approximating discrete return format), one with x, y, and z columns representing the X coordinate, Y coordinate and elevation?

I ask because my goal is to visualize this data in rgl package, hence why I hope to find a solution in R. But I am opened to use a different tool, if not possible with R.

The CSV file of waveform LiDAR data is available for free download here.

I think the values in columns 3-153 are small because they represent a 'standardized signal'. See the attached image.

enter image description here

2
  • 1
    Not sure what you mean here, every column after 2 (y) is a z value representing a bin in the waveform. What was done for post processing on the data? If the data was post processed off the sensor, you should not have negative values. It is also not clear what the z units are. The values seem VERY small. To get an "elevation" you will very likely have to filter the data which is not trivial if you have not worked with lidar data before. – Jeffrey Evans Dec 2 '15 at 21:33
  • I included an image which I hope provides some insight. – Jason Matney Dec 2 '15 at 21:40
3

Full waveform LiDAR is still an evolving field with very few software being available. However, the PulseWaves API and tools are able to read the original LVIS files (that are binary and not in CSV format). The best place to inquire about full waveform LiDAR is in this discussion forum here: http://pulsewaves.org

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.