alsdb.ALSTile#
- class alsdb.ALSTile(path: str | Path, classification_filter: list[int] | None = None, reclassify: bool = False, ground_classifier: str = 'csf', denoise: bool = False, reproject_to: str | None = None, hag_low: float = 0.5, hag_med: float = 2.0, hag_high: float = 5.0)[source]#
Processes a single LAZ tile into arrays ready for TileDB ingestion.
Wraps
Tileand applies optional reprojection, reclassification, and point filtering before handing data toALSDatabase.- Parameters:
path – Path to the
.lazfile.classification_filter – If provided, only points whose
Classificationcode is in this list are passed through.reclassify – If
True, run ground classification + HAG to assign ground (class 2) and vegetation (classes 3/4/5) labels to unclassified (class 1) points. Thresholds are always in metres; use together withreproject_tofor non-metric source files.ground_classifier –
Algorithm used for ground classification when
reclassify=True."csf"(default) — Cloth Simulation Filter (Zhang et al. 2016). Good general-purpose choice; handles gentle-to-moderate terrain well."pmf"— Progressive Morphological Filter (Zhang et al. 2003), PDAL’sfilters.pmf. More robust on steep or complex terrain (analogous to Axelsson 2000 PTD).
denoise –
If
True, run noise detection before reclassification:filters.elmflags below-ground outliers as class 7.filters.outlier(radius method) flags isolated points as class 7.
These class-7 points are then excluded from the ground classifier and HAG computation. Useful when the source LAZ has no pre-existing noise classification (classes 7/18 not set).
reproject_to –
Target CRS for the output points.
None(default) — keep native CRS, no reprojection."auto"— detect feet-based CRS and reproject to the appropriate WGS 84 UTM zone; metric CRS files are left unchanged."EPSG:XXXX"— reproject to an explicit CRS.
- __init__(path: str | Path, classification_filter: list[int] | None = None, reclassify: bool = False, ground_classifier: str = 'csf', denoise: bool = False, reproject_to: str | None = None, hag_low: float = 0.5, hag_med: float = 2.0, hag_high: float = 5.0) None[source]#
Methods
__init__(path[, classification_filter, ...])iter_chunks([chunk_size])Yield
(x, y, attrs)tuples ready for writing to TileDB.Attributes
nametarget_crsCRS of the data after ingestion (native or reprojected).
tile