LASfile <- system.file("extdata", "Megaplot.laz", package="lidR")
shp <- system.file("extdata", "lake_polygons_UTM17.shp", package = "lidR")
las <- readLAS(LASfile, filter = "-keep_random_fraction 0.1")
lakes <- sf::st_read(shp, quiet = TRUE)
# The attribute "inlake" does not exist in the shapefile.
# Points are classified as TRUE if in a polygon
las <- merge_spatial(las, lakes, "inlakes") # New attribute 'inlakes' is added.
names(las)
forest <- filter_poi(las, inlakes == FALSE)
#plot(forest)
# The attribute "LAKENAME_1" exists in the shapefile.
# Points are classified with the values of the polygons
las <- merge_spatial(las, lakes, "LAKENAME_1") # New column 'LAKENAME_1' is added.
names(las)
Run the code above in your browser using DataLab