[pdal] LAS Files Reclassifying Points with Flags - pdal info query + differences between pdal info / lasinfo classification outputs

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[pdal] LAS Files Reclassifying Points with Flags - pdal info query + differences between pdal info / lasinfo classification outputs

Rose Phillips

Hi guys,

 

Hope you’re all having a good week.

When reclassifying points in LAS files where there are also flags (withheld, synthetic, keypoint or overlap), I’ve noticed a discrepancy between pdal info + lasinfo reports with my output LAS files, and an assortment of classification codes (for pdal info) that I’m not familiar with.

 

I used pdal pipeline to reclassify points under code 17 to 10 :-

 

 

{

  "pipeline" : [

   {

        "type" : "readers.las",

        "filename" : "input.las"

   },

    {

        "type":"filters.assign",

        "assignment":"Classification[10:10]=17"

    },

    {

        "type" : "writers.las",

        "minor_version" : 4,

        "dataformat_id"1,

        "a_srs" : "EPSG:2193+7839",

        "forward" : "all",

        "filename" : "output.las"

    }

  ]

}

 

 

Looking at lasinfo reports, for an input and output file, it looks like there are still points assigned as 17? But the pdal info reports show something else, and points with different counts e.g.

 

Input file (pdal info)

  "filename": "D:\\ BM34_2018_1000_1637.las",

  "pdal_version": "2.0.1 (git-version: Release)",

  "stats":

  {

    "statistic":

    [

      {

        "average": 38.90448897,

        "count": 4048726,

        "counts":

        [

          "1.000000/1",

          "2.000000/2590331",

          "3.000000/146834",

          "4.000000/16873",

          "5.000000/106701",

          "6.000000/13937",

          "7.000000/51",

          "9.000000/14124",

          "10.000000/218",

          "130.000000/993308",

          "131.000000/102834",

          "132.000000/6622",

          "133.000000/40561",

          "134.000000/9820",

          "135.000000/5",

          "137.000000/6215",

          "138.000000/291"

        ],

        "maximum": 138,

        "minimum": 1,

        "name": "Classification",

        "position": 0,

        "stddev": 57.89674269,

        "variance": 3352.032814

      }

    ]

  }

}

 

Output File (pdal info)

{

  "filename": "D:\\palmerston_north_cc\\pdal_reclassification_issue\\reclassified\\CL2_BM34_2018_1000_1637.laz",

  "pdal_version": "2.0.1 (git-version: Release)",

  "stats":

  {

    "statistic":

    [

      {

        "average": 38.90486588,

        "count": 4048726,

        "counts":

        [

          "1.000000/1",

          "2.000000/2590331",

          "3.000000/146834",

          "4.000000/16873",

          "5.000000/106701",

          "6.000000/13937",

          "7.000000/51",

          "9.000000/14124",

          "17.000000/218",

          "130.000000/993308",

          "131.000000/102834",

          "132.000000/6622",

          "133.000000/40561",

          "134.000000/9820",

          "135.000000/5",

          "137.000000/6215",

          "138.000000/291"

        ],

        "maximum": 138,

        "minimum": 1,

        "name": "Classification",

        "position": 0,

        "stddev": 57.8965773,

        "variance": 3352.013663

      }

    ]

  }

}

 

Input file (lasinfo)

 

histogram of classification of points:

               1  unclassified (1)

         3583639  ground (2)

          249668  low vegetation (3)

           23495  medium vegetation (4)

          147262  high vegetation (5)

           23757  building (6)

              56  noise (7)

           20339  water (9)

             509  rail (10)

+-> flagged as withheld:  1159656

 

Output file (lasinfo)

 

histogram of classification of points:

               1  unclassified (1)

         3583639  ground (2)

          249668  low vegetation (3)

           23495  medium vegetation (4)

          147262  high vegetation (5)

           23757  building (6)

              56  noise (7)

           20339  water (9)

             291  rail (10)

             218  bridge deck (17)

+-> flagged as withheld:  1159656

 

 

I’m guessing pdal info is the most accurate output as arcgis pro + global mapper outputs are the same as pdal info and lasinfo is the odd one out.

I wrote a las2las and pdal pipeline workaround to make sure that both lasinfo + pdal info outputs were the same.

 

I was wondering if you guys knew why the flags were written as numbers and why they are split up in codes, that change for each file?

 

Many thanks and kind regards,

Rose Phillips

 

Location Data Analyst

Land Information New Zealand

 




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 [hidden email]) 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.

_______________________________________________
pdal mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/pdal
Reply | Threaded
Open this post in threaded view
|

Re: [pdal] LAS Files Reclassifying Points with Flags - pdal info query + differences between pdal info / lasinfo classification outputs

Connor Manning
Regarding the Classification assignment, I think you've got the filter specification backwards.  To "reclassify points under code 17 to 10", you would want "assignment":"Classification[17:17]=10".

On Wed, Feb 12, 2020 at 3:48 PM Rose Phillips <[hidden email]> wrote:

Hi guys,

 

Hope you’re all having a good week.

When reclassifying points in LAS files where there are also flags (withheld, synthetic, keypoint or overlap), I’ve noticed a discrepancy between pdal info + lasinfo reports with my output LAS files, and an assortment of classification codes (for pdal info) that I’m not familiar with.

 

I used pdal pipeline to reclassify points under code 17 to 10 :-

 

 

{

  "pipeline" : [

   {

        "type" : "readers.las",

        "filename" : "input.las"

   },

    {

        "type":"filters.assign",

        "assignment":"Classification[10:10]=17"

    },

    {

        "type" : "writers.las",

        "minor_version" : 4,

        "dataformat_id"1,

        "a_srs" : "EPSG:2193+7839",

        "forward" : "all",

        "filename" : "output.las"

    }

  ]

}

 

 

Looking at lasinfo reports, for an input and output file, it looks like there are still points assigned as 17? But the pdal info reports show something else, and points with different counts e.g.

 

Input file (pdal info)

  "filename": "D:\\ BM34_2018_1000_1637.las",

  "pdal_version": "2.0.1 (git-version: Release)",

  "stats":

  {

    "statistic":

    [

      {

        "average": 38.90448897,

        "count": 4048726,

        "counts":

        [

          "1.000000/1",

          "2.000000/2590331",

          "3.000000/146834",

          "4.000000/16873",

          "5.000000/106701",

          "6.000000/13937",

          "7.000000/51",

          "9.000000/14124",

          "10.000000/218",

          "130.000000/993308",

          "131.000000/102834",

          "132.000000/6622",

          "133.000000/40561",

          "134.000000/9820",

          "135.000000/5",

          "137.000000/6215",

          "138.000000/291"

        ],

        "maximum": 138,

        "minimum": 1,

        "name": "Classification",

        "position": 0,

        "stddev": 57.89674269,

        "variance": 3352.032814

      }

    ]

  }

}

 

Output File (pdal info)

{

  "filename": "D:\\palmerston_north_cc\\pdal_reclassification_issue\\reclassified\\CL2_BM34_2018_1000_1637.laz",

  "pdal_version": "2.0.1 (git-version: Release)",

  "stats":

  {

    "statistic":

    [

      {

        "average": 38.90486588,

        "count": 4048726,

        "counts":

        [

          "1.000000/1",

          "2.000000/2590331",

          "3.000000/146834",

          "4.000000/16873",

          "5.000000/106701",

          "6.000000/13937",

          "7.000000/51",

          "9.000000/14124",

          "17.000000/218",

          "130.000000/993308",

          "131.000000/102834",

          "132.000000/6622",

          "133.000000/40561",

          "134.000000/9820",

          "135.000000/5",

          "137.000000/6215",

          "138.000000/291"

        ],

        "maximum": 138,

        "minimum": 1,

        "name": "Classification",

        "position": 0,

        "stddev": 57.8965773,

        "variance": 3352.013663

      }

    ]

  }

}

 

Input file (lasinfo)

 

histogram of classification of points:

               1  unclassified (1)

         3583639  ground (2)

          249668  low vegetation (3)

           23495  medium vegetation (4)

          147262  high vegetation (5)

           23757  building (6)

              56  noise (7)

           20339  water (9)

             509  rail (10)

+-> flagged as withheld:  1159656

 

Output file (lasinfo)

 

histogram of classification of points:

               1  unclassified (1)

         3583639  ground (2)

          249668  low vegetation (3)

           23495  medium vegetation (4)

          147262  high vegetation (5)

           23757  building (6)

              56  noise (7)

           20339  water (9)

             291  rail (10)

             218  bridge deck (17)

+-> flagged as withheld:  1159656

 

 

I’m guessing pdal info is the most accurate output as arcgis pro + global mapper outputs are the same as pdal info and lasinfo is the odd one out.

I wrote a las2las and pdal pipeline workaround to make sure that both lasinfo + pdal info outputs were the same.

 

I was wondering if you guys knew why the flags were written as numbers and why they are split up in codes, that change for each file?

 

Many thanks and kind regards,

Rose Phillips

 

Location Data Analyst

Land Information New Zealand

 




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 [hidden email]) 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.
_______________________________________________
pdal mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/pdal

_______________________________________________
pdal mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/pdal
Reply | Threaded
Open this post in threaded view
|

Re: [pdal] LAS Files Reclassifying Points with Flags - pdal info query + differences between pdal info / lasinfo classification outputs

Bradley Chambers
Correct, your pipeline is reclassifying non-withheld rail (10) as non-withheld bridge (17). It is leaving the withheld rail (138) untouched. This may be confusing in a couple of ways. First, lasinfo shows that you have withheld points but it doesn’t provide a breakout in the individual point counts. Also, the PDAL output just shows withheld points with their bit shifted values, which may not be obvious. I think all reports you are running are in fact giving you the correct information for the pipeline you provided.  

On Wed, Feb 12, 2020 at 17:03 Connor Manning <[hidden email]> wrote:
Regarding the Classification assignment, I think you've got the filter specification backwards.  To "reclassify points under code 17 to 10", you would want "assignment":"Classification[17:17]=10".

On Wed, Feb 12, 2020 at 3:48 PM Rose Phillips <[hidden email]> wrote:

Hi guys,

 

Hope you’re all having a good week.

When reclassifying points in LAS files where there are also flags (withheld, synthetic, keypoint or overlap), I’ve noticed a discrepancy between pdal info + lasinfo reports with my output LAS files, and an assortment of classification codes (for pdal info) that I’m not familiar with.

 

I used pdal pipeline to reclassify points under code 17 to 10 :-

 

 

{

  "pipeline" : [

   {

        "type" : "readers.las",

        "filename" : "input.las"

   },

    {

        "type":"filters.assign",

        "assignment":"Classification[10:10]=17"

    },

    {

        "type" : "writers.las",

        "minor_version" : 4,

        "dataformat_id"1,

        "a_srs" : "EPSG:2193+7839",

        "forward" : "all",

        "filename" : "output.las"

    }

  ]

}

 

 

Looking at lasinfo reports, for an input and output file, it looks like there are still points assigned as 17? But the pdal info reports show something else, and points with different counts e.g.

 

Input file (pdal info)

  "filename": "D:\\ BM34_2018_1000_1637.las",

  "pdal_version": "2.0.1 (git-version: Release)",

  "stats":

  {

    "statistic":

    [

      {

        "average": 38.90448897,

        "count": 4048726,

        "counts":

        [

          "1.000000/1",

          "2.000000/2590331",

          "3.000000/146834",

          "4.000000/16873",

          "5.000000/106701",

          "6.000000/13937",

          "7.000000/51",

          "9.000000/14124",

          "10.000000/218",

          "130.000000/993308",

          "131.000000/102834",

          "132.000000/6622",

          "133.000000/40561",

          "134.000000/9820",

          "135.000000/5",

          "137.000000/6215",

          "138.000000/291"

        ],

        "maximum": 138,

        "minimum": 1,

        "name": "Classification",

        "position": 0,

        "stddev": 57.89674269,

        "variance": 3352.032814

      }

    ]

  }

}

 

Output File (pdal info)

{

  "filename": "D:\\palmerston_north_cc\\pdal_reclassification_issue\\reclassified\\CL2_BM34_2018_1000_1637.laz",

  "pdal_version": "2.0.1 (git-version: Release)",

  "stats":

  {

    "statistic":

    [

      {

        "average": 38.90486588,

        "count": 4048726,

        "counts":

        [

          "1.000000/1",

          "2.000000/2590331",

          "3.000000/146834",

          "4.000000/16873",

          "5.000000/106701",

          "6.000000/13937",

          "7.000000/51",

          "9.000000/14124",

          "17.000000/218",

          "130.000000/993308",

          "131.000000/102834",

          "132.000000/6622",

          "133.000000/40561",

          "134.000000/9820",

          "135.000000/5",

          "137.000000/6215",

          "138.000000/291"

        ],

        "maximum": 138,

        "minimum": 1,

        "name": "Classification",

        "position": 0,

        "stddev": 57.8965773,

        "variance": 3352.013663

      }

    ]

  }

}

 

Input file (lasinfo)

 

histogram of classification of points:

               1  unclassified (1)

         3583639  ground (2)

          249668  low vegetation (3)

           23495  medium vegetation (4)

          147262  high vegetation (5)

           23757  building (6)

              56  noise (7)

           20339  water (9)

             509  rail (10)

+-> flagged as withheld:  1159656

 

Output file (lasinfo)

 

histogram of classification of points:

               1  unclassified (1)

         3583639  ground (2)

          249668  low vegetation (3)

           23495  medium vegetation (4)

          147262  high vegetation (5)

           23757  building (6)

              56  noise (7)

           20339  water (9)

             291  rail (10)

             218  bridge deck (17)

+-> flagged as withheld:  1159656

 

 

I’m guessing pdal info is the most accurate output as arcgis pro + global mapper outputs are the same as pdal info and lasinfo is the odd one out.

I wrote a las2las and pdal pipeline workaround to make sure that both lasinfo + pdal info outputs were the same.

 

I was wondering if you guys knew why the flags were written as numbers and why they are split up in codes, that change for each file?

 

Many thanks and kind regards,

Rose Phillips

 

Location Data Analyst

Land Information New Zealand

 




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 [hidden email]) 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.
_______________________________________________
pdal mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/pdal
_______________________________________________
pdal mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/pdal

_______________________________________________
pdal mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/pdal