uDocumentViewer
Geospatial.copc.laz · .copc

COPC viewer

ready
About COPC

Cloud Optimized Point Cloud.

COPC is LAZ 1.4 with an EVLR-stored octree index. A network reader can issue HTTP range requests against the octree to fetch just the points it needs at the current zoom level, which is why COPC is the de-facto format for cloud-hosted LIDAR. In a single-file in-browser viewer there's no HTTP round-trip to optimise — we already have the whole file — so we skip the octree, treat the file as plain LAZ, and decompress every chunk via laz-perf. Files above ~2M points are uniformly subsampled for display, with the original and shown counts surfaced in the toolbar (e.g. "COPC 1.0 · 12.3M pts (showing 2.0M)"). Colour-by-elevation/intensity/classification/RGB and orbit controls work the same as the LAS and LAZ viewers.

FAQ
Is COPC different from LAZ?
Same arithmetic-coded point records, same point data formats — COPC just adds two extra VLRs that describe an octree of node offsets/lengths inside the file. Standard LAZ readers (including this one) open COPC files without issue, they just don't use the octree.
Does the viewer use the octree for level-of-detail?
No. The octree is most useful for ranged HTTP fetches against a remote object store. Here, you've already dropped the whole file in the browser — we decompress everything and subsample uniformly to stay under ~2 million displayed points.
Are .copc and .copc.laz both supported?
Yes. Some tools emit one, some emit the other; both are LAS-headered LAZ files and parse identically.
Can I see the COPC metadata VLRs?
Not in this view — we go straight to the point data. If you need to inspect the copc_info / copc_hierarchy VLRs, use PDAL's lasinfo or the copc.js CLI.
Is my file uploaded?
No. The LAS/LAZ header is parsed in JavaScript and the chunks are decompressed by laz-perf's WebAssembly module locally. Nothing leaves your browser.
More Geospatial