LAS viewer
LIDAR point cloud.
LAS is the ASPRS uncompressed LIDAR exchange format. We parse the Public Header Block by hand (version, point format, scales/offsets, min/max XYZ, point count — including the LAS 1.4 uint64 count) and iterate the point records directly, applying the header's scale and offset to each int32 X/Y/Z. Point formats 2/3/5/7/8 carry per-point 16-bit RGB, which we surface as a color attribute; intensity (0..65535) and classification (ASPRS codes 0..31) are extracted for every format. Files over two million points are uniformly subsampled so three.js can keep the cloud interactive — the toolbar shows both the raw count and the displayed count so you know what you're looking at. Some files in the wild use a .las extension but actually carry LAZ-compressed point data; we detect that via the high bit of the point format byte and route through laz-perf transparently.
- Which LAS versions are supported?
- All of them — 1.0, 1.1, 1.2, 1.3, and 1.4. The viewer reads the Public Header Block directly, including the LAS 1.4 64-bit point count, so files with billions of returns parse correctly (we subsample for display).
- What does color-by classification show?
- ASPRS classification codes (0..31) — ground, low vegetation, building, water, etc. Each code gets a stable hue so you can spot patterns at a glance. Code 0 (unclassified) is rendered as a neutral grey.
- Does this work for huge LIDAR tiles?
- Yes. Files above ~2M points are uniformly subsampled (every Nth point) so the GPU has a fighting chance. The toolbar shows the original and displayed counts, e.g. "LAS 1.4 · 12.3M pts (showing 2.0M)".
- Where does the RGB come from?
- Point data formats 2, 3, 5, 7, and 8 store a 16-bit RGB triplet per return. We divide by 65535 to get a 0..1 colour and switch to RGB mode by default when those bytes are present.
- Is my file uploaded?
- No. Decoding happens entirely in your browser — the LAS header is parsed in JavaScript and the (rare) LAZ-in-disguise files go through laz-perf's WebAssembly module. Nothing is sent to a server.
- .kmlKMLGoogle Earth XML geodata.Open
- .kmzKMZZipped KML bundle.Open
- .geojsonGeoJSONGeographic JSON features.Open
- .gpxGPXGPS Exchange — tracks, routes, waypoints.Open
- .shpShapefile (SHP)ESRI Shapefile (geospatial vector).Open
- .tifGeoTIFFGeoreferenced raster imagery.Open
- .lazLAZCompressed LIDAR point cloud.Open
- .copc.lazCOPCCloud Optimized Point Cloud.Open