Closed chambbj closed 1 year ago
When I run your fail example on my OSX build, I don't get the same failure as you. I end up with an invalid pipeline being made for the writer. Your workaround works fine for me though.
{
"pipeline":
[
{
"order": "column",
"shape": "0, 0, 0",
"tag": "readers_memoryview1",
"type": "readers.memoryview"
},
{
"filename": "foo.las",
"inputs":
[
"readers_memoryview1"
],
"tag": "writers_las1",
"type": "readers.las"
}
]
}
I think the issue is how type
is being guessed/inferred from the filename, and there's some default that's not correct.
I was experimenting with a workflow recently that looked something like this. The basic workflow is easy: read some LAS, do something to the classifications (we'll just say zero them out in this example), and write the updated point cloud to LAS.
I was a little surprised to find I could not make the assignment to the structured array returned by the PDAL python bindings. I'd expect to be able to overwrite the existing classifications with zeros. Despite being marked as
WRITEABLE
(seereaders.arrays[0]['Classification'].flags
, it seems I cannot actually change these values.My current workaround is to make a copy of the returned structured array, update the values there, and pass that to the writer.