Skip to content

Fix PDAL RuntimeError when EPT omits Classification dimension#55

Open
endolith wants to merge 1 commit into
mainfrom
cursor/fix-classification-dimension-ept-schema-de4e
Open

Fix PDAL RuntimeError when EPT omits Classification dimension#55
endolith wants to merge 1 commit into
mainfrom
cursor/fix-classification-dimension-ept-schema-de4e

Conversation

@endolith

Copy link
Copy Markdown
Owner

Closes #13.

Some USGS 3DEP Entwine resources expose an ept.json schema that does not include Classification. The tile path always enabled filterNoise, which appends filters.range on Classification and triggers RuntimeError: filters.range: Invalid dimension name in 'limits' option: 'Classification'.

This change fetches each intersecting dataset's ept.json (with a small in-memory cache) and only enables filterNoise when every dataset's schema lists Classification. When any dataset omits it, classification-based noise filtering is skipped and a log line explains why.

Trade-off: For those tiles, class 18 (high noise) points are no longer stripped before DSM generation, which may slightly affect DSM quality compared to classified data.

Open in Web Open in Cursor 

USGS Entwine tiles sometimes omit Classification from ept.json schema.
filters.range on Classification then fails at runtime. Detect presence via
each dataset's ept.json and disable filterNoise when any intersecting
dataset lacks Classification.

Co-authored-by: endolith <endolith@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fix RuntimeError filters.range: Invalid dimension name 'Classification'

2 participants