Visualize NOAA Coastal LiDAR Point Clouds in Your Browser
Want to explore massive coastal LiDAR datasets from NOAA without downloading anything? In this tutorial, I show you how to search, load, and interact with NOAA Digital Coast LiDAR point clouds using a web app built with the maplibre-gl-lidar plugin. The data is streamed directly from the cloud using the Entwine Point Tile (EPT) format hosted on AWS, so you can preview datasets before committing to a large download.
Video tutorial: Visualize NOAA Coastal LiDAR Point Clouds in the Browser
What You Will Need¶
A modern web browser (Chrome, Firefox, or Edge recommended).
That is it. No software installation, no data downloads.
NOAA Digital Coast Overview¶
The NOAA Digital Coast provides access to a large collection of LiDAR datasets covering the coastal United States, including areas relevant to bathymetry and ocean research. While the Digital Coast portal lets you browse coverage and download data, the datasets can be enormous. You often want to preview the data before downloading to make sure it covers your area of interest and meets your quality requirements.
I previously created a similar tool for USGS 3DEP data. There is some overlap between the USGS and NOAA collections, but NOAA generally has more extensive coverage in coastal zones.
Launch the Web App¶
Open the web app at noaa
Search for Datasets¶
Click the wave icon button in the upper right corner to open the search panel.
Zoom to your area of interest, or leave the map at the default view to search the full extent.
Click Search Map Extent to find all available LiDAR datasets within the current view.
The search returns bounding boxes for each dataset. Not all NOAA LiDAR data appears here because only datasets that have been converted to the Entwine (EPT/ENI) format can be streamed. Datasets still in their original format are not yet available for browser-based visualization.
By default, the app shows up to 100 results at a time to keep things responsive. You can also click Refresh Index to pull the latest catalog from NOAA in case new datasets have been added since the plugin’s index was last built.
Load and View Point Clouds¶
Zoom into a specific area and click on a bounding box to select it.
Click Load Selected in the upper right corner.
The point cloud loads tile by tile directly into the browser. Scroll down in the panel to see the loaded layer, including the point count and basic metadata.
Click the info icon next to a loaded layer to view details such as the dataset name, point count, coordinate system, point format, point spacing (often around 20 cm), and the URL to the Entwine JSON file. For example, a dataset covering Milwaukee, Wisconsin contains roughly 38 billion points.
The data is streamed using HTTP range requests, similar to how you stream a video on YouTube. The app only fetches the tiles visible in your current map view, so you never need to download the entire dataset.
Special thanks to the AWS Open Data Program for hosting and providing public access to these datasets.
Customize the Visualization¶
Color Modes¶
The app supports several color modes accessible from the layer panel:
Elevation: The default. Colors points by their Z value.
Intensity: Colors points by return signal strength. Buildings and roads tend to appear brighter, while vegetation is darker.
Classification: Shows point classifications (ground, water, noise, bridge deck, etc.) if the dataset includes them. Classification quality varies by dataset.
RGB: Displays true color if the dataset includes RGB values. Not all datasets have this.
You can also change the color map to better suit your data. For elevation data, the “terrain” color map works well, with brighter colors representing higher elevations.
Elevation Filtering¶
Some datasets contain outliers, such as construction cranes, towers, or artifacts well above the ground surface. To remove them:
Scroll down to the Elevation Filtering checkbox in the layer panel.
Enable it and adjust the slider to set the maximum elevation threshold.
Be careful not to set the threshold too low, or you may also clip buildings and other legitimate features.
Z Offset¶
You may notice gaps between the point cloud and the basemap. This happens because the LiDAR data uses absolute elevation (e.g., meters above the ellipsoid), not height above ground. The Z Offset slider lets you shift the entire point cloud up or down to better align it with the basemap. Drag the slider to a negative value to bring the points closer to the terrain surface.
Point Picking¶
Check the Point Picking box to enable interactive value queries. As you move your mouse over the point cloud, the app displays the X, Y, Z coordinates and intensity for the point under the cursor. This is useful for quickly checking elevation values at specific locations. Uncheck the box when you are done.
Cross-Sections¶
The cross-section tool lets you draw a line across the point cloud and visualize a 2D profile:
Enable the Cross-Section tool in the panel.
Click Draw Line, then click on the map to place two endpoints of your cross-section line.
A profile preview appears on the right side of the screen. Click the expand button to view it larger.
The profile shows elevation along the drawn line. You can clearly see features like highrise buildings, ground surfaces, and even lake bathymetry. Click the download button to save the cross-section data as a CSV file containing distance, elevation, offset, latitude, longitude, intensity, and classification for each sampled point.
You can draw multiple cross-section lines to compare profiles at different locations.
Tips¶
Performance: Everything runs in your browser using WebGPU. If your computer has limited hardware, large datasets may become laggy. Refresh the browser to start fresh.
Multiple datasets: You can load more than one dataset at a time, but start with a single dataset in a small area before loading multiple to avoid overwhelming the browser.
Layer controls: Use the layer panel to adjust opacity, toggle layers on and off, or remove loaded datasets.
Coverage outside the continental US: The app includes data for territories like Puerto Rico.
Data quality: Some datasets have artifacts or poor classification. Always inspect the data before using it for analysis. You may need to remove outliers in post-processing.
Downloading data: The web app is for visualization only. To download the raw data, use the NOAA Digital Coast portal.
Resources¶
If you have questions or run into issues, feel free to leave a comment below or open an issue on the GitHub repository. I hope this tool saves you time when exploring NOAA’s coastal LiDAR collections.