[pdal] FW: Attempting to filter out (1) Unclassified points flagged as Withheld

Bradley Chambers brad.chambers at gmail.com
Wed Aug 4 07:12:40 PDT 2021


Rose,

As Andrew suggested, the withheld bit is actually stored in ClassFlags for
your data. In this case, withheld returns are marked as "4" (see the LAS
spec for more on the flags).

$ pdal info CL2_BR20_2020_1000_4134.laz --filters.stats.count
"Classification,ClassFlags" --filters.stats.dimensions
"Classification,ClassFlags"
{
  "file_size": 8728570,
  "filename": "CL2_BR20_2020_1000_4134.laz",
  "now": "2021-08-04T08:51:53-0500",
  "pdal_version": "2.2.0 (git-version: 3dd320)",
  "reader": "readers.las",
  "stats":
  {
    "statistic":
    [
      {
        "average": 2.3644045,
        "count": 2524409,
        "counts":
        [
          "1.000000/759595",
          "2.000000/1154344",
          "3.000000/160785",
          "4.000000/135106",
          "5.000000/9930",
          "6.000000/304542",
          "7.000000/106",
          "18.000000/1"
        ],
        "maximum": 18,
        "minimum": 1,
        "name": "Classification",
        "position": 0,
        "stddev": 1.55327344,
        "variance": 2.412658379
      },
      {
        "average": 1.159550612,
        "count": 2524409,
        "counts":
        [
          "0.000000/1792614",
          "4.000000/731795"
        ],
        "maximum": 4,
        "minimum": 0,
        "name": "ClassFlags",
        "position": 1,
        "stddev": 1.814840525,
        "variance": 3.29364613
      }
    ]
  }
}

Also, the where option is not supported on reader/writer stages, so you
actually should've seen an error if you executed the pipeline that you
shared. If you simply want a pipeline to extract non-withheld points, you
can use the range filter. If you want to skip withheld points, but not
discard them, you could use where with the other filters in your pipeline.

Brad

On Wed, Aug 4, 2021 at 8:12 AM Rose Phillips <RPhillips at linz.govt.nz> wrote:

> LAZ files with 129 bits are downloadable for free here :-
>
> aws s3 cp s3://pc-bulk/NZ20_Westport/ . --recursive --endpoint-url
> https://opentopography.s3.sdsc.edu --no-sign-request
>
>
>
> Using the same pipeline as below I was having the same issue with example
> file from the above bucket CL2_BR20_2020_1000_4134.laz – output file still
> contained the 129 bit when explicitly filtered out by writers.las.where
> statement.
>
>
>
> *From:* Andrew Bell <andrew.bell.ia at gmail.com>
> *Sent:* Wednesday, 4 August 2021 11:57 a.m.
> *To:* Rose Phillips <RPhillips at linz.govt.nz>
> *Cc:* pdal at lists.osgeo.org
> *Subject:* Re: [pdal] Attempting to filter out (1) Unclassified points
> flagged as Withheld
>
>
>
> The pipeline doesn't seem to match the output you show, so it's hard to
> know what's going on. If you want to share a file I can see what's up.
>
>
>
> On Tue, Aug 3, 2021 at 5:22 PM Rose Phillips <RPhillips at linz.govt.nz>
> wrote:
>
> Hi Andrew,
>
>
>
> Thank you for the heads up, I tried the following pipeline;
>
>
>
> {
>
>     "pipeline" : [
>
>     {
>
>         "type" : "readers.las",
>
>         "filename" : "input.las"
>
>     },
>
>     {
>
>         "type" : "writers.las",
>
>         "a_srs" : "EPSG:2193+7839",
>
>         "filesource_id" : "0",
>
>         "filename" : "output.las",
>
>         "where": "ClassFlags!=129"
>
>     }
>
>     ]
>
> }
>
>
>
> However my output LAZ file still had these bits intact;
>
>
>
> {
>
>   "file_size": 3007189,
>
>   "filename": "C:\\Temp\\scan_angle\\test_file\\processed\\
> CL2_BW24_2020_1000_4526.laz",
>
>   "now": "2021-08-04T09:20:17+1200",
>
>   "pdal_version": "2.3.0 (git-version: Release)",
>
>   "reader": "readers.las",
>
>   "stats":
>
>   {
>
>     "statistic":
>
>     [
>
>       {
>
>         "average": 6.704382019,
>
>         "count": 1307434,
>
>         "maximum": 129,
>
>         "minimum": 2,
>
>         "name": "Classification",
>
>         "position": 0,
>
>         "stddev": 21.69585237,
>
>         "values":
>
>         [
>
>           2,
>
>           3,
>
>           4,
>
>           5,
>
>           7,
>
>           9,
>
>           18,
>
>           129
>
>         ],
>
>         "variance": 470.7100099
>
>       }
>
>     ]
>
>   }
>
> }
>
>
>
> Kindest regards Rose
>
>
> *______________________________________________________________________________________________________________________________________________________________*
>
> *From:* Andrew Bell <andrew.bell.ia at gmail.com>
> *Sent:* Tuesday, 3 August 2021 11:00 p.m.
> *To:* Rose Phillips <RPhillips at linz.govt.nz>
> *Cc:* pdal at lists.osgeo.org
> *Subject:* Re: [pdal] Attempting to filter out (1) Unclassified points
> flagged as Withheld
>
>
>
>
>
>
>
> On Mon, Aug 2, 2021 at 5:39 PM Rose Phillips <RPhillips at linz.govt.nz>
> wrote:
>
> Hi pdal’ers
>
>
>
> These are my attempts to filter out (1) Unclassified Points flagged as
> withheld in LAS filers for further analyses.
>
> Any chance you guys can point to where I have gone wrong?
>
>
>
> pipelines I have tried using pdal 2.3.0: to filter out (1) unclassified
> points flagged as withheld;
>
>
>
> 1.
>
>
>
> {
>
>     "pipeline" : [
>
>     {
>
>         "type" : "readers.las",
>
>         "filename" : "input.las"
>
>     },
>
>                 {
>
>                                 "type":"filters.range",
>
>                                 "limits":"Classification![129:129]"
>
>                 },
>
>     {
>
>         "type" : "writers.las",
>
>         "a_srs" : "EPSG:2193+7839",
>
>         "filesource_id" : "0",
>
>         "filename" : "output.las"
>
>     }
>
>     ]
>
>   }
>
>
>
> I think that this should filter out unclassified withheld points with LAS
> 1.2 and 1.3. With LAS 1.4, the withheld attribute is stored in the
> "ClassFlags" dimension, so you'll need to use boolean logic with that
> dimension and the "Classification" dimension to do what you want. You might
> also use pdal info --enumerate to make sure that your data has the values
> you think it does.
>
>
>
> --
>
> Andrew Bell
> andrew.bell.ia at gmail.com
>
>
> ------------------------------
>
>
> This message contains information, which may be in confidence and may be
> subject to legal privilege. If you are not the intended recipient, you must
> not peruse, use, disseminate, distribute or copy this message. If you have
> received this message in error, please notify us immediately (Phone 0800
> 665 463 or info at linz.govt.nz) and destroy the original message. LINZ
> accepts no responsibility for changes to this email, or for any
> attachments, after its transmission from LINZ. Thank You.
>
>
>
>
> --
>
> Andrew Bell
> andrew.bell.ia at gmail.com
> _______________________________________________
> pdal mailing list
> pdal at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/pdal
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/pdal/attachments/20210804/c66407e3/attachment-0001.html>


More information about the pdal mailing list