Updated October 2026: We corrected the source for the ground-filtering accuracy figures (0.19–0.23 m for photogrammetry, 0.13–0.19 m for LiDAR). They come from Klápště et al. 2020, not Serifoglu Yilmaz et al., and the LiDAR in that study was airborne, flown leaf-on. We also fixed the large-roof advice: the LAStools step must exceed the biggest roof, but CSF cloth resolution should stay small, and a harder cloth is what bridges large buildings. The tool speed comparison is now labeled indicative, because the timings were not from a benchmark. ArcGIS Pro’s method is now described the way Esri documents it, not as a morphological + TIN hybrid: five ground detection methods (Standard, Conservative, Aggressive, Recover Ridges and Model Key Classification), with DEM resolution described as Esri’s speed setting rather than a step size. The LAStools urban step is now 25–50 m (-city / -metro), matching rapidlasso’s guidance, and the LAStools license is a one-year license with annual renewal, not a one-time purchase.
Your drone point cloud has 50 million points. Most of them are not ground.
The cars in the parking lot are there. The trees. The roof of the office building. The power lines overhead. The client wants a bare-earth DEM for grading calcs, and you need to separate the few million points that actually represent the ground from everything else. That separation is ground classification, and it is the single step that turns a DSM into a DTM.
Skip it and your contours go across rooftops. Do it wrong and your volumes are off by thousands of cubic yards.
Three tools dominate the practical workflow: LAStools (commercial, fast, scriptable), CloudCompare with the CSF plugin (free, GUI-first, forgiving), and ArcGIS Pro’s Classify LAS Ground tool (integrated with the ArcGIS ecosystem). All three can do the job. They work differently, cost differently, and fail differently. This article walks each one, compares them head-to-head, and gives you a decision framework for picking the right one.
What Ground Classification Actually Does
No algorithm can see that a point is ground. It has to infer it from geometry. Three classes of algorithm run the practical tools:
- Progressive TIN Densification (PTD). Grid the point cloud. Take the lowest point in each cell as a ground seed. Build a triangulated network from those seeds. Iteratively add nearby points that fit within distance and angle thresholds relative to the triangles. LAStools uses this.
- Cloth Simulation Filter (CSF). Flip the point cloud upside down. Drop a virtual cloth onto the inverted surface. Points that end up touching the cloth become ground. The cloth conforms to terrain but cannot sag into buildings or tree canopies. CloudCompare uses this.
- Slope-tolerance presets (ArcGIS Pro). Esri’s Classify LAS Ground documentation describes five ground detection methods. Three of them, Standard, Conservative and Aggressive, are defined by how much variation in ground slope each accepts; the other two, Recover Ridges and Model Key Classification, refine an existing result. It does not publish the underlying filter. A separate deep-learning tool with PointCNN models covers training-data-driven workflows.
Every tool lets you turn knobs. None of them let you skip thinking about terrain type, point density, and noise — which is where beginner results fall apart.
Why Photogrammetry Is Harder Than LiDAR
Most of the ground-filtering literature was written for airborne LiDAR. LiDAR has two properties that photogrammetry point clouds do not:
First, multi-return data. A LiDAR pulse can hit a leaf, punch through to a branch, and reach the ground — returning three or four points from one shot. Ground-filtering algorithms can bias toward “last return” or “lowest return” to pull the ground out from under vegetation.
Second, canopy penetration. LiDAR sees past leaves. Drone photogrammetry does not. A camera captures what a camera sees, and under dense canopy that is the top of the canopy.
The consequences are practical:
- Under dense tree canopy, photogrammetry has no ground points to classify. No algorithm recovers what was never there.
- Under sparse canopy or open ground, photogrammetry points exist — but noisier than LiDAR, with systematic bias in shadow and low-texture areas.
- Reported ground-filtering RMSE for photogrammetry: 7.5 to 9.1 in (0.19 to 0.23 m). For LiDAR with the same algorithms: 5.1 to 7.5 in (0.13 to 0.19 m). Worse inputs, same algorithms, worse outputs. Source: Klápště et al. 2020, International Journal of Digital Earth 13(12):1672–1694, which tested six ground filters in Metashape, ArcGIS, CloudCompare, LAStools and PDAL on leaf-off drone photogrammetry and leaf-on airborne LiDAR of the same area.
Manage expectations up front. The point cloud type sets the ceiling. Tool choice moves you within that ceiling — it does not raise it.
LAStools — lasground_new
LAStools is the commercial workhorse of the LiDAR processing world. The ground-classification tool is lasground_new, a redesigned successor to the original lasground that handles transitions between flat and steep terrain (urban next to mountains) without breaking.
Algorithm
PTD-based. Grid the cloud at a user-specified -step distance. Take the lowest point in each cell as a ground seed. Build a TIN. Expand the TIN by adding points that fit within a vertical rejection threshold (-spike) and a maximum offset above the reference surface (-offset). Iterate until convergence.
Workflow
lasground_new runs from the command line:
lasground_new -i input.laz -o output_classified.laz -step 5 -spike 1.0 -offset 0.5 -bulge 1.0
Terrain presets do most of the parameter work:
-wilderness— natural, low-urban terrain-nature— moderate terrain variation-townor-city— urban with buildings-metro— dense urban with large buildings
Parameters That Matter
| Parameter | Controls | Typical Range |
|---|---|---|
-step | Coarse grid for seed selection | 16–33 ft (5–10 m) open terrain; 82–164 ft (25–50 m) urban (-city / -metro), and always larger than the biggest roof |
-spike | Vertical rejection threshold for outliers | 3.3 ft (1.0 m) default |
-offset | Max height above reference TIN still classified as ground | 1.6–3.3 ft (0.5–1.0 m) |
-bulge | Allows local TIN bulging for gentle hills | 0.3–3.3 ft (0.1–1.0 m) |
-fine / -extra_fine | Preset granularity overrides | Use -fine for drone data |
The step-size trap. If -step is smaller than the largest building or continuous roof on site, lasground_new can classify the roof as ground; rapidlasso’s own documentation says the default 25 m step (the same as -city) removes most buildings in common cities, except very large warehouses or factories, which need a larger step. The rule: step must exceed the longest roofline dimension. On a site with a 100-ft warehouse, use a step of at least 40 m (131 ft). Get this wrong and your DEM has a false plateau where the warehouse used to be.
Cost
lasground/lasground_newindividual tool license: EUR 1,500 (~$1,650 USD), or EUR 1,575 with credit card processing fee. Rapidlasso licenses run for one year from the date of issue and can be renewed annually for a maintenance fee (rapidlasso pricing).- Full LAStools with BLAST: EUR 5,000 (~$5,500 USD).
- Full unlimited license: EUR 15,000 (~$16,500 USD).
- Volume discounts: 2nd license -40%, 3rd -50%, up to 7th -90%.
- Academic: EUR 2,000 (schools) / EUR 3,000 (non-profit research).
Unlicensed free use is permitted but degrades output: LAStools zeroes intensity, GPS time, user data, and point source ID, shuffles point order, and adds white noise to coordinates. Fine for learning. Not usable for deliverables.
Source: rapidlasso.de/pricing, verified April 2026.
Strengths and Weaknesses
Strengths:
- Fast. Built for production LiDAR volumes; in our experience it is the quickest of the three, though we have not run a controlled benchmark.
- Handles massive datasets with the BLAST extension.
- Command-line scriptable. Drops into automated pipelines.
- Terrain presets do 80% of the parameter work.
- Industry-standard. If an engineer receives your LAS, they can re-run your classification and reproduce your results.
Weaknesses:
- Real money for commercial use.
- CLI-only by default. Third-party GUIs exist but are thin.
- Tuned for airborne LiDAR. Needs parameter adjustment for drone photogrammetry.
- Purely geometric — no color/RGB-assisted classification.
CloudCompare — CSF Plugin
CloudCompare is the free, open-source point-cloud swiss army knife. The CSF plugin, bundled with modern builds since version 2.11, does ground classification.
Algorithm
Cloth Simulation Filter (Zhang et al. 2016). Invert the point cloud. Initialize a virtual cloth above the inverted surface. Let the cloth fall under gravity. Cloth nodes interact with the nearest point via a spring-mass system. The cloth stops where it cannot pass further — draping over the ground surface and bridging over obstacles like buildings and dense tree clumps. Points within a threshold of the final cloth position become ground. The rest do not.
Workflow
- File → Open your LAS, LAZ, or PLY point cloud.
- Select the cloud in the DB tree.
- Plugins → CSF Filter.
- Choose the terrain preset: Flat, Relief, or Steep slope.
- Set cloth resolution, max iterations, and classification threshold.
- Run. Output is two new clouds — “offground” and “ground.”
Parameters That Matter
| Parameter | Controls | Typical Value |
|---|---|---|
| Scene / terrain type | Slope sensitivity preset | Relief for most drone jobs |
| Cloth resolution | Cloth node spacing | 1.6–6.6 ft (0.5–2.0 m). Smaller = finer DTM, more vegetation misclassification. Start at 1.6 ft (0.5 m). |
| Max iterations | Simulation stop condition | 500 — rarely needs adjustment |
| Classification threshold | Distance below cloth still ground | 1.6 ft (0.5 m) default. Lower for flat asphalt, higher for gravel/rough grass. |
| Slope processing | Enable for steep terrain | ON if slopes exceed 20% |
Cost
Free. GPL v2 open source. Latest release is 2.14.beta (April 2026); the stable 2.13 branch is production-ready. No subscription, no license file, no point limits, no commercial restrictions.
Source: cloudcompare.org/release.
Strengths and Weaknesses
Strengths:
- Zero licensing friction.
- Three knobs cover 95% of cases.
- CSF handles vegetation transitions well on real drone data.
- Strong GUI for inspection. You can interactively segment misclassified points after running CSF.
- Active development, cross-platform.
- Does alignment, registration, change detection, and volume calculation too — not just classification.
Weaknesses:
- GUI-first. The CLI exists but is under-documented.
- Struggles with sharp vertical discontinuities. A cloth cannot drape vertically — on a cliff edge or retaining wall, the cloth spans the gap and misclassifies the lower ledge.
- Slower than LAStools on massive files, in our experience. Large clouds can take many minutes.
- Memory-hungry. Loading 100M+ points on a 16 GB workstation will swap.
- LAS classification codes are spec-adjacent but not always fully compliant. Check before piping into downstream tools.
ArcGIS Pro — Classify LAS Ground
ArcGIS Pro’s Classify LAS Ground tool ships with the 3D Analyst extension. It is the obvious choice if ArcGIS is already your deliverable environment.
Algorithm
Esri’s tool reference describes the tool by its ground detection methods rather than a named algorithm. Standard tolerates gradual undulations in slope. Conservative applies a tighter slope restriction, which helps separate ground from low grass and shrubs. Aggressive detects sharper relief such as ridges and hilltops that Standard can miss. Two more methods refine a result: Recover Ridges finds ridges that even Aggressive misses and requires a processing extent or boundary polygon, and Model Key Classification flags a subset of points that are already classified as ground as model-key points. For complex scenes, a separate tool — Classify Point Cloud Using Trained Model — runs a pre-trained PointCNN deep-learning classifier, requiring a supported GPU.
Workflow
- Create a LAS dataset pointing at your LAS/LAZ files.
- Geoprocessing → Classify LAS Ground (3D Analyst required).
- Pick a classification method:
- Standard — default for most drone jobs.
- Conservative — tighter slope restriction; use it when low vegetation such as grass and shrubs is being marked as ground.
- Aggressive — for sharp relief such as ridges and hilltops that Standard can miss.
- Recover Ridges — a follow-up pass for ridges that Aggressive still misses; needs a processing extent or boundary polygon.
- Model Key Classification — flags a subset of points already classified as ground as model-key points; it does not detect ground on its own.
- Run.
Requirements
- 3D Analyst extension enabled. Without it, the tool is not exposed.
- Projected CRS. If your LAS is in a geographic CRS (EPSG:4326 or similar), run
Extract LASfirst with an output projection. This is the number-one failure mode beginners hit. - ArcGIS Pro 3.x. The tool has been stable since 2.x; latest official test was on Pro 3.6 per the Esri learn path (updated January 2026).
Parameters That Matter
ArcGIS Pro hides most algorithm parameters behind its ground detection methods. Power users can adjust:
- DEM resolution. An optional distance that evaluates only a subset of points, to build the ground surface faster. Esri sets a 0.3 m minimum, and the value takes effect only if it is at least 1.5 times the average point spacing. It is a speed setting, not a building-size step like the LAStools
-step. - Reuse existing ground. Keeps points already in Class 2 instead of reclassifying them.
- Compute statistics. Run after classification to enable downstream tools.
- Classification codes. Default to LAS spec — Class 2 is ground, Class 1 is unclassified. Non-ground stays as Class 1 until you run subsequent tools like
Classify LAS BuildingorClassify LAS By Height.
Cost
- ArcGIS Pro Basic starts at the organizational user-type level. A Creator user type with ArcGIS Pro access is typically around $500/year, depending on contract.
- ArcGIS for Personal Use: $100/year, noncommercial only. Grants ArcGIS Pro Advanced plus most extensions including 3D Analyst.
- ArcGIS for Student Use: $100/year.
- 3D Analyst extension: included with Advanced user types; add-on otherwise.
Most commercial drone shops already have ArcGIS Pro through a user-type subscription. The cost of using it for ground classification is effectively zero on the margin — you already pay for the seat. The cost question only matters if ArcGIS Pro would be net-new to your stack.
Source: esri.com/en-us/arcgis/products/arcgis-pro/buy.
Strengths and Weaknesses
Strengths:
- Integrated with the rest of the ArcGIS workflow: classify → raster → contour → share web layer, all in one tool.
- Point Cloud Scene Layer Package (SLPK) output for ArcGIS Online sharing.
- Native LAS 1.4 support.
- Optional PointCNN deep-learning classifier for training-data-driven workflows.
- Strong for engineers and planners whose deliverables are ArcGIS-native.
Weaknesses:
- Requires Pro license plus 3D Analyst extension.
- Preset-driven parameters. You cannot directly tune step, offset, or slope threshold. Reproducibility suffers.
- Slower than LAStools on large files.
- No CLI equivalent outside ArcPy scripting.
- Same limitation as the others under dense vegetation — no workaround.
Head-to-Head Comparison
| Dimension | LAStools (lasground_new) | CloudCompare (CSF) | ArcGIS Pro (Classify LAS Ground) |
|---|---|---|---|
| License | Commercial (EUR 1,500+) | GPL v2 — free | Organizational subscription |
| Algorithm | Progressive TIN Densification | Cloth Simulation Filter | Standard / Conservative / Aggressive slope-tolerance methods, plus Recover Ridges and Model Key (filter not published) |
| Interface | CLI (primary) | GUI (primary) | GUI + ArcPy |
| Relative speed (indicative, not benchmarked) | Fastest | Slowest | In between |
| Parameter transparency | High | Medium | Low (preset-driven) |
| LAS spec compliance | Full | Mostly; verify | Full |
| Best terrain | All, with tuned presets | Open to moderate vegetation | Open, urban |
| Worst terrain | Dense canopy | Sharp vertical steps | Dense canopy, complex urban |
| Reproducibility | Excellent (logged commands) | Good (parameter preset) | Moderate (preset only) |
| Downstream ecosystem | Any LAS-reading tool | CloudCompare native, generic LAS export | ArcGIS-native, strong web sharing |
Parameter Recipes by Terrain Type
Flat Open Terrain — Parking Lots, Airstrips, Ag Fields
- LAStools:
-step 5 -spike 0.5 -offset 0.3 -wilderness - CloudCompare CSF: Scene = Flat, cloth resolution 0.5 m, threshold 0.3 m
- ArcGIS Pro: Conservative method
Drone photogrammetry over flat asphalt or grass produces noisy ground points. Aggressive settings pick up surface noise as vegetation — tighten thresholds.
Rolling Terrain — Suburban, Light Vegetation, Small Hills
- LAStools:
-step 8 -spike 1.0 -offset 0.5 -natureor-fine - CloudCompare CSF: Scene = Relief, cloth 0.5–1.0 m, threshold 0.5 m (the default)
- ArcGIS Pro: Standard method
Urban with Buildings
- LAStools:
-city(step 25 m), or-metro(step 50 m) for very large buildings. The step must exceed the largest building footprint. - CloudCompare CSF: Scene = Flat on flat urban sites (the hardest cloth, best at bridging large roofs), Relief where the ground slopes; cloth 0.5–1.0 m. Watch for false ground on continuous rooflines.
- ArcGIS Pro: Standard method
Practical rule for big roofs: in LAStools, the step must exceed the largest contiguous roof on site. Otherwise, the algorithm treats the roof as a plateau and classifies it as ground; on a 200-ft warehouse, the step must be larger than 200 ft (61 m). In CSF, do not chase the roof with a coarse cloth resolution, which only coarsens the DTM. Use a harder cloth instead, and check the roof in cross-section. In ArcGIS Pro, inspect large roofs after the run, since the tool has no building-size step to set (its DEM resolution only thins points for speed).
Steep or Complex Terrain — Hillsides, Canyons, Cliffs
- LAStools:
-step 3 -spike 1.5 -offset 1.0 -nature. Smaller step, more permissive spike. - CloudCompare CSF: Scene = Steep slope, cloth 0.3–0.5 m, threshold 0.3–0.5 m. CSF’s known failure mode is sharp vertical drops — a cloth cannot drape vertically.
- ArcGIS Pro: Aggressive method
Dense Vegetation
Honest answer: none of these will give you a clean DTM under dense tree canopy from drone photogrammetry. The ground points are not in the cloud to begin with. Any classifier will either pull a sparse set of tree-base points that happened to show through (best case) or classify the canopy as ground (worst case). For serious work under canopy, use LiDAR. The LiDAR-vs-photogrammetry decision is upstream of tool choice.
Common Failure Modes
1. Large roofs classified as ground. Roofs become a false plateau in the DTM. Fix: in LAStools, raise -step past the longest continuous rooftop on site; in CSF, use a harder cloth (Flat scene) rather than a coarser cloth resolution.
2. Running classification on a geographic-CRS cloud. ArcGIS Pro throws a clean error. LAStools and CloudCompare quietly produce garbage. Project to a planar CRS — UTM zone or State Plane — before classifying.
3. Using PTD or CSF defaults on photogrammetry noise. Drone photogrammetry has more low outliers than airborne LiDAR, and defaults are tuned for LiDAR. Tighten -spike in LAStools to 0.5–1.0 m. Lower CSF threshold to 0.3 m.
4. Skipping noise removal. A single outlier point below the true surface will anchor the ground surface too low in that neighborhood. Run lasnoise (LAStools) or Statistical Outlier Removal (CloudCompare) before classification.
5. Trusting a single pass without checkpoints. Overlay the classified ground over the unclassified cloud in a cross-section tool — CloudCompare sections, ArcGIS Pro profile view, or LASVIEW. Eyeball at least three cross-sections through buildings and vegetation before calling it done.
6. No ground-truth DEM for validation. If you have no surveyed GCPs or benchmarks held out from processing, you have no objective way to measure DTM accuracy. The numbers look good until a surveyor checks your work.
Validation Workflow
After classification, before handing off a DTM:
- Rasterize the ground class to a DEM at roughly 2× your desired GSD. Over-resolve, then smooth downstream.
- Sample at known checkpoints. Survey-grade GCPs held out from photogrammetry processing, or surveyor-provided benchmarks.
- Compute RMSE in the vertical axis across all checkpoints. Report this number on your deliverable.
- Cross-sections through buildings. If any roofline shows up in the DTM, the LAStools step was too small or the CSF cloth too soft.
- Cross-sections through vegetation. If the DTM is visibly lifted under forest, either vegetation was misclassified as ground or (more likely for photogrammetry) the ground points never existed.
Target vertical RMSE for drone photogrammetry DTMs in open terrain: under 4 in (0.10 m) with surveyed GCPs; 6 to 10 in (0.15 to 0.25 m) without GCPs on a consumer drone.
Decision Framework — Which Tool, When
Pick LAStools if:
- You need reproducibility across a team. Scripted commands live in version control.
- You process at scale — hundreds of files, automated pipeline.
- Speed matters. Overnight batch, client deadlines.
- Your budget allows EUR 1,500+ for a commercial license.
- Your team is comfortable with CLI.
Pick CloudCompare if:
- You are a freelancer or small shop and need a free solution.
- You want interactive inspection and manual correction.
- You already use CloudCompare for registration, alignment, or volume calcs.
- Your jobs are one-off, not batch pipelines.
- Your terrain has moderate relief and no sharp vertical steps.
Pick ArcGIS Pro if:
- You already pay for it — most commercial shops do.
- Your deliverable is ArcGIS-native: AGOL scene, feature service, or web map.
- You deliver to clients who operate in ArcGIS.
- You want the full downstream stack in one tool: classify, raster, contour, share.
- You need optional deep-learning classification (PointCNN) for complex scenes.
The real-world default for most small drone mapping shops: Start with CloudCompare. Upgrade to LAStools when batch scale or automation matters. Use ArcGIS Pro for classification only when you’re already living in the ArcGIS ecosystem for delivery.
The tool does not change the physics. A good classification on drone photogrammetry gets you vertical RMSE in the single-digit inches with GCPs, and roughly twice that without. All three tools get you into that range on appropriate terrain. None of them rescue a bad flight, a noisy cloud, or data from an environment where ground points never existed in the first place.
The real work happens upstream — in the flight design, the GCP deployment, and the photogrammetry processing that produced your point cloud. Ground classification is the last clean step before delivery. Make the decision about which tool fits your shop once, and the workflow afterwards takes care of itself.
References
Research and standards cited in this article.
- Klápště, P., et al. (2020). Sensitivity analysis of parameters and contrasting performance of ground filtering algorithms with UAV photogrammetry-based and LiDAR point clouds. International Journal of Digital Earth, 13(12), 1672–1694. doi:10.1080/17538947.2020.1791267
- Zhang, W., et al. (2016). An easy-to-use airborne LiDAR data filtering method based on cloth simulation. Remote Sensing, 8(6), 501. doi:10.3390/rs8060501