Search code examples
condagdallidarpdal

PDAL: Couldn't create filter stage of type 'writer.gdal'


I'm trying to create a raster .tif from a ground classified point cloud file using PDAL (https://pdal.io/en/latest/).

I installed PDAL following the Quickstart instructions provided in the PDAL documentation (https://pdal.io/en/latest/quickstart.html). I successfully created a classified point cloud file. I want to create a raster digital elevation model (DEM) using writer.gdal. I have GDAL installed on conda using the following command: conda install -c conda-forge gdal

I wrote a pipeline using Visual Source Code following this tutorial (https://www.youtube.com/watch?v=tvL25Y7O-Dw).

{
    "pipeline":[
        "ground_north.laz",
        {
            "type":"writer.gdal",
            "filename":"north_dem.tif",
            "gdaldriver":"GTiff", 
            "output_type":"all",
            "resolution":"1.0"
        }
    ]
}

When I call the pipeline using this command 'pdal pipeline to_raster.json' I get the following error message:

PDAL: Couldn't create filter stage of type 'writer.gdal'.

You probably have a version of PDAL that didn't come with a plugin

you're trying to load.  Please see the FAQ at https://pdal.io/faq

How can I fix this?

I'm very new to using conda, and I apologize if this isn't clear. I'd appreciate any and all help/tips/advice!


Solution

  • You have a small typo in your type, it should read writers.gdal not writer.gdal.

    A sample pipeline is below.

    {
      "pipeline": [
        {
          "filename": "ground_north.laz",
          "type": "readers.las",
        },
        {
          "type":"writers.gdal",
          "filename":"north_dem.tif",
          "gdaldriver":"GTiff", 
          "output_type":"all",
          "resolution":"1.0"
        }
      ]
    }
    

    If you're trying to isolate specific classes for your raster you'll also need a filter in your pipeline something like:

        {
          "type": "filters.range",
          "limits": "Classification[2:2]"
        },