> For the complete documentation index, see [llms.txt](https://docs-7.phoenixlidar.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs-7.phoenixlidar.com/lidarmill-desktop/workflow-kk/classification/find-ground-ptd.md).

# Find Ground (PTD)

Classifies ground points using a progressive tin densification algorithm.

Select input class(s) and output class., then Click Run Filter.

After processing has finished click **Save Classification to Cloud** to save changes, or click **Cancel Fitler** to cancel changes.&#x20;

{% hint style="info" %}
It is recommended to use a **Ground Thickness** value equal to, or slightly greater than the ground thickness of your lidar pointcloud
{% endhint %}

![](/files/-M_XeCfuWgP5DEHA3Siz)

This ground filter is a Progressive TIN Densification (PTD) algorithm, where TIN stands for Triangulated Irregular Network. The algorithm classifies points as ground by the following steps:

1. First, a uniform planar grid is spanned across whole dataset and each cell is assigned the lowest point falling into its bounds.&#x20;
2. This provides initial samples for the TIN creation.&#x20;
3. TIN mesh created using delaunay triangulation, with respect to XZ plane and then use it as a base for iterative classification.
4. In each iteration, points are tested for incidence angle distance to the nearest triangle of the TIN, and assigned ground class, should they pass.&#x20;
5. At the end of the iteration, these points are added to the TIN, refining it and allowing more points to be classified as ground.&#x20;

### Parameters

* **Cell Size** - Cell size for initial TIN creation. Should reflect max building size within project area
* **Feature size** - Finer cell size for initial TIN creation. Smaller values increase memory consumption, but improve the algorithm's ability to climb slopes
* **Iteration Angle** - Angle to plane as described above
* **Iteration Distance** - Distance to plane per iteration&#x20;
* **Maximum iterations** - Maximum number of densification iterations
* **Ground Thickness** - How much algorithm should thicken the final ground. Should reflect expected ground thickness.&#x20;
