[pdal] Surface modeling

Bradley Chambers brad.chambers at gmail.com
Wed Apr 28 08:44:53 PDT 2021


On Wed, Apr 28, 2021 at 9:34 AM Howard Butler <howard at hobu.co> wrote:

>
> > On Apr 27, 2021, at 4:11 PM, Andreas Yankopolus <andreas at yank.to> wrote:
>
> > Is there previous work in these areas that I can build on with PDAL? I’m
> also looking at LAStools, which appears to have binaries that could be
> replicated with PDAL pipelines.
>
> I like to say that "PDAL is something you can use to build LAStools" about
> its scope in relation to that product. PDAL isn't pre-canned workflows for
> attacking a few kinds of LiDAR processing challenges. It's a bunch of
> building blocks for processing point cloud data in the context of ETL
> pipelines.
>
> That said, once constructed, those workflows can be quite valuable. Fancy
> classification pipelines haven't typically been shared freely, however.


Your mileage will certainly vary, but one pipeline that was derived from
this notebook (
https://github.com/rockestate/point-cloud-processing/blob/master/notebooks/point-cloud-processing.ipynb)
is shared below. It classifies noise, ground, vegetation, and building
returns. In my experience, it does a reasonable job but can still require
fine tuning of the parameters.

[
    {
        "type": "filters.assign",
        "assignment": "Classification[:]=0"
    },
    {
        "type": "filters.elm"
    },
    {
        "type": "filters.smrf",
        "where": "Classification != 7"
    },
    {
        "type": "filters.hag_delaunay"
    },
    {
        "type": "filters.outlier",
        "multiplier": 16,
        "class": 18,
        "where": "!(Classification==2 || Classification==7)"
    },
    {
        "type": "filters.approximatecoplanar",
        "where": "HeightAboveGround >= 2 && !(Classification==2 ||
Classification==7 || Classification==18)"
    },
    {
        "type": "filters.outlier",
        "class": 18,
        "where": "!(Classification==2 || Classification==7 ||
Classification==18) && Coplanar == 1"
    },
    {
        "type": "filters.assign",
        "value": "Classification=6 WHERE (Coplanar == 1 && !(Classification
== 7 || Classification==18))"
    },
    {
        "type": "filters.covariancefeatures",
        "mode": "normalized",
        "feature_set": "Dimensionality",
        "knn": 45
    },
    {
        "type": "filters.assign",
        "value": "Classification=4 WHERE (!(Classification==2 ||
Classification==6) && HeightAboveGround >= 3.0 && Planarity < 0.8 &&
Scattering > 0.1 && Verticality > 0.1)"
    }
]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/pdal/attachments/20210428/cc868544/attachment.html>


More information about the pdal mailing list