This tool interpolates a digital elevation model (DEM) from one or more input LAS files. The interpolator is based on a descretized version of the Sibson, or Natural Neighbour, method. The LAS file format is an industry standard format for storing data acquired by laser scanners. The user must specify the name of one or more LAS files. The output DEMs will have the same name as the corresponding input LAS file, with specified file suffix appended to the end of the file name. The user must also specify the grid resolution, the discretization factor (5-20). All of the LiDAR points within the circle encompassing each grid cell is then examined as a neighbourhood. The algorithm is extremely computationally intenstive and may take a long while to complete.
If the area of coverage contains numerous buildings, it is advisable that the output of this tool be further processed using the Remove Off-Terrain Objects tool to further remove all buildings. Also, if there are many NoData holes within the resulting DEM, it may also be advisable to process the DEM using the Fill Missing Data Holes tool.
The following is an example of a Python script using this tool:
wd = pluginHost.getWorkingDirectory()
# You may have multiple input files but they must
# be separated by semicolons in the string.
inputs = wd + "input1.las" + ";" + wd + "input2.las"
suffix = "Sibson"
interpParameter = "z (elevation)"
ptReturn = "all points"
resolution = "1.0"
discretizationFactor = "5"
# excluded points...
neverClassified = "false"
unclassified = "false"
bareGround = "false"
lowVeg = "false"
mediumVeg = "false"
highVeg = "false"
buildings = "false"
lowPoints = "false"
keyPoints = "false"
water = "false"
args = [inputs, suffix, interpParameter, ptReturn, resolution, discretizationFactor, neverClassified, unclassified, bareGround, lowVeg, mediumVeg,
highVeg, buildings, lowPoints, keyPoints, water]
pluginHost.runPlugin("LiDAR_Discrete_Sibson_Interpolation", args, False)
This is a Groovy script also using this tool:
def wd = pluginHost.getWorkingDirectory()
// You may have multiple input files but they must
// be separated by semicolons in the string.
def inputs = wd + "input1.las" + ";" + wd + "input2.las"
def suffix = "Sibson"
def interpParameter = "Intensity"
def ptReturn = "all points"
def resolution = "1.0"
def discretizationFactor = "5"
// excluded points...
def neverClassified = "false"
def unclassified = "false"
def bareGround = "false"
def lowVeg = "false"
def mediumVeg = "false"
def highVeg = "false"
def buildings = "false"
def lowPoints = "false"
def keyPoints = "false"
def water = "false"
def args = [inputs, suffix, interpParameter, ptReturn, resolution, discretizationFactor, neverClassified, unclassified, bareGround, lowVeg, mediumVeg,
highVeg, buildings, lowPoints, keyPoints, water]
pluginHost.runPlugin("LiDAR_Discrete_Sibson_Interpolation", args, false)