I'm new to using the PDAL system to query and process LiDAR point cloud data from the USGS Lidar Explorer. I've been following some of the tutorials in the PDAL Quickstart Guide and have applied the process to a couple of test areas with success. However, when I attempt to apply the process to read data from EPT, using the tutorial I get the response
PDAL: filters.smrf: SomeNumberOfReturns or ReturnNumber values were 0, but not all. Check that all values in the input file are >1
The Python script then exits and no output is written.
The only things I've changed from the tutorial are the "bounds", and the "filename" for the input. My best guess is that the process of wiping the existing point classification in "filters.assign" is not completely wiping the classes, but that a complete guess.
My pipeline is shown below, and I'm implementing it in an ArcGIS Pro Conda environment using the call to pdal pipeline "C:/Path/to/my/script/here.json" --debug
{"pipeline":[{
"type":"readers.ept",
"filename":"http://usgs-lidar-public.s3.amazonaws.com/MA_CentralEastern_1_2021/ept.json",
"bounds":"([-7917342.6030054735,-7907983.316102504],[5210805.384680403,5218695.031491172])",
"tag": "readdata"
},
{
"limits": "Classification![7:7]",
"type": "filters.range",
"tag": "nonoise"
},
{
"assignment": "Classification[:]=0",
"tag": "wipeclasses",
"type": "filters.assign"
},
{
"out_srs": "EPSG:26915",
"tag": "reprojectUTM",
"type": "filters.reprojection"
},
{
"tag": "groundify",
"type": "filters.smrf"
},
{
"limits": "Classification[2:2]",
"type": "filters.range",
"tag": "classify"
},
{
"filename": "C:\\Users\\wik191\\Downloads\\bostonarea.tif",
"gdalopts": "tiled=yes, compress=deflate",
"inputs": [ "classify" ],
"nodata": -9999,
"output_type": "idw",
"resolution": 1,
"type": "writers.gdal",
"window_size": 6
}
]
}