Set LAS Class Code Using Features - How to optimize a large processing task

2930
3
11-19-2012 09:01 AM
CamPatterson
New Contributor II
I have multiple-year Lidar coverage of a riverine system consisting of about 1.5 billion points in about 100 (quarter quad) LAS tiles for each year. I also have stereophotogrammetrically-derived water polygons made from lidar intensity image derivatives for each year. Some of the water polygons are for the river itself and span many of the LAS tiles. I want to reclassify the points falling within water polygons to class "9" in all LAS tiles.

I did this by running the "Set LAS Class Code Using Features" geoprocessing tool on a LAS dataset created for the entire directory for a particular year.
I computed statistics for the LAS dataset before running the tool on it, and checked the "update statistics" box.

I'm running Win7-64, dual Xeon quads, 12GB RAM. Arc10.1 SP1. ARc10.1SP1-64bit background processing.

I started the tool running at noon yesterday, and I can tell by checking file date modified in WinExplorer that only about half of the files have been processed by 10 hours later.

So what's my best strategy for breaking up the work to run more efficiently? I can cut up the polygons on the tile seamlines. Or I could create a series of LAS datasets for sub-sets of LAS tiles and run the tool on those. I haven't test the tool on a LASd containing only 1 or 2 tiles yet.

Why does it run so slow? Windows Resource Monitor indicates that CPUs are running at 6%, 6 GB of memory are free, and the disk activity is minimal. I do notice that the disk is going to pagefile.sys pretty frequently, which seems odd given the free RAM available.
Tags (1)
0 Kudos
3 Replies
CamPatterson
New Contributor II
This issue is resolved by splitting up the large polygons along the LAS tile boundaries using the Identity tool with the tile boundary index file, so that no polygon spans multiple LAS tiles.

What is not resolved is the need in this tool for a LAS Dataset environment setting that allows the tool to process a subset of the point cloud based on existing class value.

The problem is caused when the need is to reclassify only ground-classed points to water based on water polygons in a all-points LAS tile, while leaving overhanging riparian trees classed as the correct "unassigned" rather than the uncorrect "water"
0 Kudos
RaghavVemula
New Contributor
You can work with a subset of classes by using the Las Dataset layer (with filter settings) as an input.
From the tool help document:
"The LAS dataset layer can be used to filter LAS points by class code or return values. The layer can be created by using the Make LAS Dataset Layer tool, or by loading the LAS dataset in ArcMap or ArcScene and specifying the desired class codes and return values through the layer properties dialog box."

Can you please upload the original (before you split it) water polygon and the tile boundary feature classes?
0 Kudos
AndréLevesque
New Contributor III

I have also been running into issues with this tool, I have approx 142 square kilometres of Lidar data coverage that I am classifying and it appears as though the tool is running successfully... but nothing has changed. (In this case with building polygons)

I am going to attempt to use the recommended methodology here and will post the approx processing time to give you an idea.

0 Kudos