Leah Wasser, Laura Chasmer, Rick Day, and Alan Taylor. 2015. Quantifying land use effects on forested riparian buffer vegetation structure using LiDAR data. Ecosphere 6:10. http://dx.doi.org/10.1890/es14-00204.1


Supplement

Code developed to measure riparian buffer width, vegetation height and canopy cover along stream reaches.
Matlab 8.3.0.532 r2014a.

Ecological Archives C006-004-S1.

Copyright


Authors
File list (downloads)
Description


Author(s)

Leah A. Wasser
National Ecological Observatory Network
Boulder, CO 80305
USA
E-mail: [email protected]


File list

All files at once: Code.zip

funCalcStreamLength.m

funCalcTransectBufferWidth2.m

funCalculateMEI.m

funCalculateNewXY.m

funCalculatePointsAlongLine.m

funCalculatePointsAlongLine_Reverse.m

funCalculatepointsAlongLine_Reverse_TransectCenter.m

funCalculateRectangleVertices.m

funFindStreamGrdLidarExtent.m

funFindStreamVeglidarExten.m

funPrctile.m

funSampleLidar.m

funSampleLidar_forestClass.m

funSplitStreams.m

ProduceFinalTransectData_ForAnalysis.m

SampleStreambufferWidth_Mar31_2012_Oct2014_Publish.m

Slidefun.m

Description

The ProduceFinalTransectData_ForAnalysis.m and SampleStreambufferWidth_Mar31_2012_Oct2014_Publish.m files are the core code used to process all of the LiDAR data presented in this manuscript. All other code included in this supplement are functions that are called within the two main scripts. Please be sure to save all code files in the same directory. The inputs to both scripts are detailed in the top matter of the scripts.

First, run SampleStreambufferWidth_Mar31_2012_Oct2014_Publish.m. The inputs for this script include ground and non-ground lidar point clouds saved in the  "lidarData" directory and a streams data saved in x,y,z format. Please see the code for documentation and examples of all inputs. Other input variables can be defined in the top matter of the code or you may choose to use the default values. All final output will be saved in the "finalResults" folder – included as an empty directory in this supplement. This script will do several things. First it will segment out your stream data into 1,000.01m long reaches. Analyzing smaller segments of stream reduces the file processing sizes and time. Next, the code will use the stream segments to calculate transects within which the lidar data will be analyzed. The final output will be data for each transect that includes its width, and vegetation structure within moving windows as defined in the algorithm. The second script, ProduceFinalTransectData_ForAnalysis.m, takes all of the output from the first script and generate a final matrix that can be used to perform final statistical analysis. This code uses the results in the finalResults folder.