-
Notifications
You must be signed in to change notification settings - Fork 2
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
First working version. #1
Conversation
@visr @c42f In your opinion, what is the best way to come to a generic point cloud type? We're now exporting header and a vector of a specific pointtype. Laszip itself also has a different pointtype and the library you're using probably expects another type. Do we want a Cloud library? And do we want some streaming possibilities? I'm also thinking about using LasIndex, or creating an index myself. Should this be a separate library, or be integrated into the cloud library? |
Ah, I missed this conversation here: |
I think we do need some data structures for storing point clouds in memory, but it has so many commonalities with the tooling needed for working with general tabular data that we should use that upcoming tooling if possible. We built a lot of internal tooling for point clouds at FugroRoames. To cut a long story short, we ended up using something along the lines of @andyferris's I think this was the right choice: a point cloud is just a special case of a tabular data structure (think For now, since LAS has a fixed number of point formats (not including extra data bytes...), I'd just define a struct for each of them in the low level IO libraries. Providing a way to read a single point or small number of points on demand then gives a simple streaming interface. Worry about the "one true data structure" for point clouds later IMO - defining general type stable tabular data structures is a problem which seems simple, but is really difficult :-) By the way, it's really great to see a wrapper for |
Yes, agreed. These day's I'm thinking it's more constructive to think of pointclouds (or tables) as collections of points (or rows) which may internally use row- or column-based storage, or in this case might correspond to a memory-mapped file that is read on demand (and on disk might be more bit-packed than the Julia struct). It's not too hard to use NearestNeighbors.jl with such a structure, so long as it presents itself a bit like a |
No description provided.