-
Notifications
You must be signed in to change notification settings - Fork 5
Cloud Optimized Point Clouds
Point clouds are 3D representations of the world created through photogrammetry or LiDAR scanning. Point clouds typically consist of thousands to millions of points arranged in a 3D coordinate system with the hope that they represent true dimensions of real world objects and landscapes. They are a digital twin of the physical world that allows us the measure and manipulate with software. Point clouds are typically stored in a .las format and can be viewed in many programs such as CloudCompare, QGIS, and ArcGIS.
The Cloud Optimized Point Cloud developed by HOBU is similar in concept to the COG. It is an .laz
(lasZip) format with additional point data organized in a clustered octree. This is similar to how a COG uses overviews and tiles. The octree organization allows for http streaming of point cloud data from cloud storage (Cyverse, AWS S3, Google Cloud Storage, Azure Blob Storage, etc.) to a web browser or other applications. Just like a COG, it enables you to stream portions of point cloud and eliminates the need to download large datasets to a local machine for visualization and analysis.
COPC is based on the open source compression file format, *.LAZ
, which was developed by Martin Isenburg and is licensed by his company RapidLASso
For technical information on the formats, see the COPC Specification and the LAS Standard.
Here is a drone-based point cloud in the COPC format. It is 686 mb and stored in Cyverse Data Store here. You can view it here using the COPC Viewer.
Here is another COPC example. It is 3DEP lidar data over Prescott, AZ. It is also stored in the Cyverse Data Store here.
For tips on installing QGIS click here
Now that you have access to QGIS, let's stream a COPC into the application.
-
Open QGIS
-
In the "Layers" menu, go to "Add Layer" and then "Add Point Cloud Layer"
-
Choose the Source Type and select "Protocol: HTTP(s), cloud, etc" for a file on your computer
-
Enter a valid
https://
in theURl
field for a COPC you found online-
Here are a few examples to try. The first is the golf course point cloud located in the Cyverse Data Store: https://data.cyverse.org/dav-anon/iplant/home/jgillan/USGA/imagery_products/hole17_point_cloud.copc.laz
-
The next example is 3DEP LiDAR data over Prescott, AZ which is also stored in the Cyverse Data Store: https://data.cyverse.org/dav-anon/iplant/home/tswetnam/agic-2022/USGS_LPC_AZ_VerdeKaibab_B2_TL_2018_LAS_2019.copc.laz
-
-
Click "Add" and the point cloud will stream into QGIS. By default, the point cloud will be displayed in 2D. You can change to a 3D view by going to 'View' menu and selecting '3D map views' and then 'New 3D Map View'
The best toolset to create your own COPC point clouds is Point Data Abstraction Library (PDAL), which is a command line tool for translating and manipulating point cloud data.
- Installing PDAL
-
Install to local machine to system PATH:
https://pdal.io/en/2.6.0/download.html#download -
Install using conda:
conda create --yes --name pdal --channel conda-forge pdal
-
-
Download a small
laz
file from Cyverse Data Store here -
Go into the directory where you downloaded the file
On the command line, you would type:
cd ~/Downloads
-
Execute the PDAL command to convert the
laz
file tocopc.laz
:
pdal translate tree.laz tree.copc.laz
You should now have the
copc.laz
file in your directory. The new file should be larger (1.6 m) than the originallaz
file (1.0 m). This is because thecopc.laz
file has additional data that is used to organize the point cloud into an octree. -
You can upload your file `tree.copc.laz' to Cyverse Data Store for streaming into applications. Please see this material for a tutorial of uploading to Cyverse Data Store.
Entwine(EPT) is another cloud-optimized format with similar function to COPC. This format is a few years older than COPC. While COPC is a single compressed file, the EPT consists of many small files (binary and .json) that are organized in a directory structure.
HoBu was contracted by the USGS to process all of the 3DEP lidar data, these are now hosted on commercial cloud in both requestor pays buckets and FOR FREE as Entwine Point Tiles: https://usgs.entwine.io/
-
More information about these datasets can be found at https://registry.opendata.aws/usgs-lidar/ and at its GitHub page at https://github.com/hobu/usgs-lidar/
-
Jupyter Notebooks to work directly with LiDAR EPT data from USGS 3DEP program. Created by Open Topography.
-
Generate and visualize DEMs (DTMs and DSM) from USGS 3D Elevation Program (3DEP) lidar data for user-defined area of interest
UArizona DataLab, Data Science Institute, University of Arizona, 2024.