PDAL / python

PDAL's Python Support
Other
115 stars 34 forks source link

RuntimeError: writers.gdal: Grid width out of range. #142

Closed CROdominik closed 1 year ago

CROdominik commented 1 year ago

PUNKTSKY_1km_6220_611.laz.zip

I noticed when I run a pipeline to convert laz to tiff files using gdal Gtiff driver, and filtering only building points (classificaiton 6) that often gdal writer provides a following error (in the title).

in_laz = (your input laz file path) out_tif = (output tif file path)

        json="""{
                "pipeline": [
                    {
                        "filename": "%s",
                        "type":"readers.las",
                        "default_srs":"EPSG:25832+5799"
                    },
                    {
                        "type":"filters.range",
                        "limits":"Classification[6:6]"
                    },
                    {
                        "filename":"%s",
                        "gdaldriver":"GTiff",
                        "pdal_metadata":"true",
                        "output_type":"mean",
                        "default_srs":"EPSG:25832+5799",
                        "resolution":"0.4",
                        "radius":"0.4",
                        "type": "writers.gdal"
                    }
                ]
            }""" % (in_laz, out_tif)

        pipeline=pdal.Pipeline( json )
        count=pipeline.execute()
        arrays=pipeline.arrays
        metadata=pipeline.metadata
        log=pipeline.log

Using the attached laz file, and this pipeline, it will result in a following error: "RuntimeError: writers.gdal: Grid width out of range." in the pipeline.execute() row.

If I'm not mistaken, this file corresponds to this small island: https://goo.gl/maps/Wg6MEUPfxSTQv4R68

As I can see a few buildings on the island, there is no reason not to be able to filter only the building points. Furthermore, if I use the same pipeline, but keep points [6:7], then it will work.

The same pipeline worked for many different laz files with the same metadata, but in 2-3% of the laz files I tried to convert, I get the following error.

pdal version is 2.4.2.

abellgithub commented 1 year ago

Your file contains no points classified as type 6. Newer versions of PDAL will report the following error:

(pdal) master $ bin/pdal pipeline t.json PDAL: Unable to write GDAL data with no points for output.

On Wed, Jan 11, 2023 at 3:45 PM Dodo @.***> wrote:

PUNKTSKY_1km_6220_611.laz.zip https://github.com/PDAL/python/files/10395824/PUNKTSKY_1km_6220_611.laz.zip

I noticed when I run a pipeline to convert laz to tiff files using gdal Gtiff driver, and filtering only building points (classificaiton 6) that often gdal writer provides a following error (in the title).

in_laz = (your input laz file path) out_tif = (output tif file path)

    json="""{
            "pipeline": [
                {
                    "filename": "%s",
                    "type":"readers.las",
                    "default_srs":"EPSG:25832+5799"
                },
                {
                    "type":"filters.range",
                    "limits":"Classification[6:6]"
                },
                {
                    "filename":"%s",
                    "gdaldriver":"GTiff",
                    "pdal_metadata":"true",
                    "output_type":"mean",
                    "default_srs":"EPSG:25832+5799",
                    "resolution":"0.4",
                    "radius":"0.4",
                    "type": "writers.gdal"
                }
            ]
        }""" % (in_laz, out_tif)

    pipeline=pdal.Pipeline( json )
    count=pipeline.execute()
    arrays=pipeline.arrays
    metadata=pipeline.metadata
    log=pipeline.log

Using the attached laz file, and this pipeline, it will result in a following error: "RuntimeError: writers.gdal: Grid width out of range." in the pipeline.execute() row.

If I'm not mistaken, this file corresponds to this small island: https://goo.gl/maps/Wg6MEUPfxSTQv4R68

As I can see a few buildings on the island, there is no reason not to be able to filter only the building points. Furthermore, if I use the same pipeline, but keep points [6:7], then it will work.

pdal version is 2.4.2.

— Reply to this email directly, view it on GitHub https://github.com/PDAL/python/issues/142, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAKBMMAMN567RLKJ6W7PXIDWR4LYFANCNFSM6AAAAAATYPC5PE . You are receiving this because you are subscribed to this thread.Message ID: @.***>

-- Andrew Bell @.***