-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Metrics using Classification always output zero #102
Comments
Here's a minimal reproducer:
You'll notice that pdal info, when run on this pointcloud, returns that the Classification attribute ranges from 0 to 6, with an average of 2. The 'max' metric output file on Classification returns zero for every point. |
I believe this was fixed in either 1.1.2 or 1.1.3. The problem was a mismatch in the data size between PDAL and TileDB, so TileDB was using the incorrect stride when traversing byte arrays and ended up with a bunch of junk. If I remember correctly you'll find the same bug for anything sized uint8 or int8. I'm going to double check this, but I remember fixing something similar to this a while ago. |
Ahh interesting. So then it sounds like the only reason my ferry pipeline hack works is because UserData is a character attribute. |
I know this sounds weird, but even if the source dataset has a value for classification, the metric always outputs zero for all points. This holds for all metrics, even built-in one such as max / mean / etc.
I managed to work around it by creating a PDAL pipeline as:
Which simply copies the Classification attribute over to UserData. With this in place, running silvimetric against the UserData attribute causes the expected behaviour.
Found to be the case on v1.1.1.
The text was updated successfully, but these errors were encountered: