NEW ROOTS DEVELOPMENT
HomeTool GuideVDC CivilTerrain

Ground Thin (lidar to ground shots)

Thins a lidar/point-cloud export down to probable ground shots: per grid cell, the lowest point survives plus everything within a keep band above it; a despike guard rejects spurious low returns; classified LAS can be filtered to ASPRS class 2 (ground) .

Command VDCGROUNDTHIN · VDC Civil tab › Terrain panel
Thins a lidar/point-cloud export down to probable ground shots: per grid cell, the lowest point survives plus everything within a keep band above it; a despike guard rejects spurious low returns; classified LAS can be filtered to ASPRS class 2 (ground).
Section view, one grid cell per column: lowest point + keep band survive; vegetation, roofs, and low-noise spikes drop out. cell 1 cell 2 cell 3 cell 4 cell 5 keep band (0.25′ above cell low) grass / cars / roofs, above the band, removed multipath spike, despiked (> 2′ below neighbor-cell median) per cell: keep lowest + points within the band above it; band 0 = strictly one lowest point per cell; classified LAS: only class-2 (ground) points considered.
Kept ground shot   Removed return (vegetation / roof / spike)   True ground

What it does, per run

  • Streams the export, LAS or LAZ any version/point format (LAZ decoded in-process, XYZ + class only), or delimited text (XYZ / PNEZD / PENZD / NEZ / PTS, header lines skipped), or reads the vertices of a TIN already in the drawing.
  • Lays a square grid (default 2 ft cells) and finds each cell's lowest point.
  • Despike (default on): a cell low more than 2 ft below the median of its neighbor cells' lows is noise, discarded; the cell's lowest legitimate point becomes its base.
  • Keeps the base plus every point within the keep band (default 0.25 ft) above it.
  • Ground-class filter (default on): a classified LAS is filtered to ASPRS class 2; unclassified sources unaffected, if everything is skipped, the summary says so and what to do.
  • The summary dialog shows the full funnel: read, class-skipped, cells, despiked, kept, reduction %.

Output & guidance

  • TIN surface (default): created at the document default style, vertices added in chunks; existing names blocked.
  • PENZD point file (default): <source> - ground thinned.txt next to the export.
  • COGO points (off by default): description GRND, collected in a point group; capped at 25,000, beyond that use the surface + file.
  • Lowest-in-cell is a heuristic, under dense canopy the lowest return can still be vegetation; a ground-classified LAS from the flight vendor is always better input.
  • Coordinates are used as-is, the export must already match the drawing's coordinate system.
  • Attached ReCap cloud? No add-in can read its points; run Civil 3D's Create Surface from Point Cloud (no filtering) and pick that surface as the source. ReCap Pro exports PTS/E57, not LAS.
  • Derived data, not a field survey, verify against ground control before design use.
  • Settings %APPDATA%\VDC\GroundThin\settings.json (env VDC_GROUNDTHIN_SETTINGS), schema-tolerant.

Dialog

Ground Thin (lidar to ground shots) dialog
Ground Thin (lidar to ground shots), VDCGROUNDTHIN

When to use it

  • A drone/aerial lidar deliverable needs to become an existing-ground surface.
  • A ReCap/vendor cloud is far too dense to TIN directly and full of vegetation returns.
  • A point cloud is already attached to the drawing (.rcp) and Civil 3D's own Create Surface from Point Cloud made a TIN too heavy to work with.
  • You want a defensible EG point set denser than a 50-ft field grid but lighter than raw lidar.

How to run it

  1. Get the cloud on disk as LAS or LAZ (the flight vendor's delivery) or as text - ReCap Pro exports PTS, which reads here as X Y Z.
  2. Attached cloud instead? Run Civil 3D's Create Surface from Point Cloud with no filtering, then pick that surface as the source.
  3. Run VDCGROUNDTHIN; choose Point file (browse; set the column order for text files) or Surface in this drawing.
  4. Set cell size (default 2 ft) and keep band (default 0.25 ft; 0 = strictly lowest per cell).
  5. Leave despike on (2 ft) and the ground-class filter on; pick the outputs; OK - Run.
  6. Read the funnel in the summary - points read, class-skipped, cells, despiked, kept - then spot-check the surface against known ground.

Options

  • Source: a point file (LAS / LAZ / XYZ / PNEZD / PENZD / PTS text) or a TIN surface already in the drawing - its vertices are thinned, the surface itself is never edited.
  • Cell size: 1 / 2 / 2.5 / 5 / 10 ft in the dropdown, or type any value - density vs weight.
  • Keep band: 0 keeps one lowest point per cell; 0.25-0.5 keeps ground texture through grade breaks.
  • Despike: a cell low more than the threshold below its neighbors' median is discarded as noise.
  • Ground class only: uses ASPRS class-2 points when the LAS is classified; ignored for unclassified sources.
  • Outputs: TIN surface (default), PENZD point file (default), COGO points (off; capped at 25,000).

Watch out for

  • Lowest-in-cell is a heuristic, not a classifier - under dense canopy the lowest return may still be vegetation. A ground-classified LAS from the vendor is always better input.
  • An attached ReCap cloud cannot be picked directly - AutoCAD gives add-ins no point-by-point access to it. Civil 3D's Create Surface from Point Cloud is the hand-off; thin that surface here.
  • ReCap Pro does not export LAS or LAZ (only E57, PTS, RCP/RCS) - export PTS for this tool, or take the vendor's LAS/LAZ.
  • For a surface source the point file lands in the drawing's VDC Reports folder, not beside a source file.
  • If EVERY point is skipped by the class filter, the cloud isn't ground-classified - uncheck the filter or request a classified LAS.
  • Coordinates are used as-is - the export must already be in the drawing's coordinate system.
  • The thinned set is derived data, not a field survey - verify against ground control before design use.

Related: Auto-Grade Lots · Surface QC · Remove Duplicate Points · Stake Lots