Skip to content

rust/sedona-pointcloud: Improve integration test coverage for las and laz readers #834

@paleolimbot

Description

@paleolimbot

A couple of suggestions before merging:

Tests

  • The previous projection test covered both .las and .laz; the rewrite only covers .las. Since LAZ goes through a separate decode path, it'd be good to keep the .laz assertion (or parameterize over both).
  • Assertions check column count + type of column 0, but not the actual data. The interesting failure mode in bug(rust/sedona-pointcloud): projection pushdown does not slice batches; non-prefix projections fail or return wrong data #824 was returning the right schema with the wrong column — same UInt8 shape, wrong values. An assert_eq! on a value (e.g. classification = 0 for the single point in extra.las) would lock that down.

Scope

  • LasSource::new(extension, table_schema: impl Into<TableSchema>) is an unrelated public-API change. Worth pulling out into a separate PR (or dropping) so this one is purely a fix.
  • The field reordering in LasSource and LasOpener is noisy in the diff without changing behaviour; reverting it would make the fix easier to cherry-pick.

Originally posted by @jiayuasu in #825 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions