PDAL supports a similar workflow, and it allows you to use any OGR-readable data source for the polygons. There is a tutorial on the PDAL website that describes how to do it.
You can use Docker to run PDAL command-line utilities on Windows 10, and the PDAL Quickstart has details how to get that going.
In short, the workflow in PDAL for this task is to:
Add an attribute column to a shapefile or some vector coverage of your polygons. You will assign that to the point data.
Use PDAL to assign that attribute for each of the points inside the polygons you want to toss out.
Remove all of the points that have that attribute.
Here's the PDAL pipeline that overlays our
attributes.shp file, and assigns values in the
CLS column to the
Classification dimension of each point. Our
CLS values were set to
26 when we created the polygons, and we then use that value in the
filters.range operation to remove all of the points that have value
Once you have a pipeline, save it as
clip.json in a path like
C:/Users/hobu/data and run it with Docker:
docker run -v c:/Users/hobu/data:/data pdal/pdal:1.4 pdal pipeline /data/clip.json
The approach could be adapted in a number of ways.
You could assign all of the
Z dimensions inside your polygons to a fixed value. This would allow you to keep other point attributes but artificially adjust the
Z values to show the clearcut area.
You could reverse the
filters.range operation to keep the points in the clearcut area and do some downstream processing to them.
You could assign different
CLS values to your different polygons and adjust how you keep or remove data with the
Please note that
filters.attribute was renamed for the upcoming PDAL 1.5 release to
filters.assign, but the functionality will remain the same.