Open jo-chemla opened 8 months ago
For some additional info, copc.js provides what I'd call "primitives" for dealing with LAS/LAZ/COPC data: header/VLR parsing, hierarchy reading, fetching a COPC node slice (with API for fetching the laszip-compressed block, or decompressed to LAS, or providing a view with getters for each attribute including extra-bytes). Determining what to fetch, caching, running decompression in a web worker, etc, are left up to you.
See the PRs for COPC support in potree and itowns for examples of copc.js usage in the context of adding a COPC loader to a downstream rendering project.
@connormanning I made a fleeting attempt at integrating your COPC code maybe 6 months ago but it had bundling issues as it was doing dynamic imports of node specific libraries (fs
?) or some such.
Also loaders.gl has its own LASLoader module which is older and I would prefer to update that to align with the COPC LASLoader implementation but didn't immediately see how to separate the code in COPC.
By your description, sounds like your primitive system might be just what is needed to make your code fit into the loaders.gl model.
If we were able to pair up for an hour or so, perhaps we could make short work of it? email me if interested.
Hello guys, have you mange to make some progress on this topic? @connormanning @ibgreen
Gradually adding support for COPC is a background effort in loaders.gl. It is partly aligned with a parallel effort to add PoTree 2.0 support.
COPCSource
implementation @ibgreen #3030COPCSource
to implement it.Tile3DSource
instances such asCOPCSource
.[ ] Create website example rendering a public COPC source.
Feedback (still WIP) on the COPC.js repo repo - CC @connormanning and hobu team. P0/P1 asks
cross-fetch
dependencyfetch
function rather than make the choice for it.laz-perf
dependency?.P2 asks - General recommendations (make the copc.js library more user and contributor friendly)
/** */
style comments on all exported types, functions, members are picked up by vscode "intellisense" and visible when hovering[ ]
base-hierarchy.ts
seems to be at the core of the API, move it out of its hiding place in theutils
folder.Original ticket: