Skip to content

Cloud Optimized Point Clouds

Jeffrey K Gillan edited this page Oct 2, 2024 · 58 revisions



Geospatial 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.



Example COPCs Online

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.



Stream COPCs into QGIS

For tips on installing QGIS click here


Now that you have access to QGIS, let's stream a COPC into the application.

  1. Open QGIS

  2. In the "Layers" menu, go to "Add Layer" and then "Add Point Cloud Layer"

  3. Choose the Source Type and select "Protocol: HTTP(s), cloud, etc" for a file on your computer

  4. Enter a valid https:// in the URl field for a COPC you found online

  5. 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'



Create your own COPC

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.

  1. Download a small laz file from Cyverse Data Store here

  2. Go into the directory where you downloaded the file

    On the command line, you would type:
    cd ~/Downloads

  3. Execute the PDAL command to convert the laz file to copc.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 original laz file (1.0 m). This is because the copc.laz file has additional data that is used to organize the point cloud into an octree.

  4. 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 Point Tiles

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/