Skip to content

Jump to hands-on lesson

Overview of Cloud Optimized Point Cloud (COPC)

A Cloud Optimized Point Cloud is a .laz file v1.4 that stores point data organized in a clustered octree.

COPC Specification

LAS Standard

A COPC contains a variable length record (VLR) that describe the octree organization of data that arestored in LAZ 1.4 chunks

COPC would not be possible without the Open Source compression file format, *.LAZ, which was developed by Martin Isenburg (RIP) and is licensed by his company RapidLASso

rapidlasso

Background on COPC

hobu

HoBu Inc. open source license their software for working with a wide variety of lidar data types. Hobu's portfolio now includes:

pdal

Point Data Abstraction Library (PDAL) is a C++ library for translating and manipulating point cloud data.

entwine

Entwine is a data organization library for massive point clouds, designed to conquer datasets of trillions of points as well as desktop-scale point clouds.

HoBu was contracted by the USGS to process all of the 3DEP lidar data, these are now hosted on commercial cloud in both reqestor pays buckets and FOR FREE as Entwine Point Tiles: https://usgs.entwine.io/

copc

Installing Open Source Lidar tools

LASTools is available for both open source and a paid licensed version

PDAL.io - suggest using a Binary install using a package manager like conda.

Hands On

Step 1 Go to COPC.io Viewer

The viewer.copc.io is an experimental Viewer for EPT and COPC point clouds hosted over https://

The COPC viewer can dynamically view COPC processed .laz that are stored on the internet.

COPC Viewer Example of 3DEP lidar over Prescott AZ from USGS

These data were converted from USGS 3DEP EPT data using PDAL pipeline

processing AWS EPT with PDAL

USGS 3DEP data are all freely available over https:// using the Entwine protocol.

These data can be re-processed to become COPC using PDAL's writers.copc function.

Example ept2copc.json script for running directly from the internet to your computer or local host

Warning you must have a fast internet connection and a large amount of RAM on your machine to process large datasets (spatial extent / dense point clouds)

conda activate pdal
ept2copc.json

Contents of ept2copc.json

    {
        "pipeline": [
            {
    "bounds": "([-12521659, -12513587], [4099398, 4107470], [1500, 3200])",
    "filename": "https://s3-us-west-2.amazonaws.com/usgs-lidar-public/USGS_LPC_AZ_VerdeKaibab_B2_TL_2018_LAS_2019/ept.json",
    "type": "readers.ept",
    "requests": 128,
    "tag": "readdata"
            },
            {
                "type":"filters.outlier",
                "method":"statistical",
                "mean_k":12,
                "multiplier":2.2
            },
            {
                "type":"filters.smrf",
                "scalar":1.2,
                "slope":0.2,
                "threshold":0.45,
                "window":16.0
            },
            {
                "type": "filters.range",
                "limits": "Classification![7:7],Z[2000:2700]"
            },
            {
                "type":"filters.hag_delaunay"
            },
            {
                "in_srs": "EPSG:3857",
                "out_srs": "EPSG:26912",
                "tag": "reprojectUTM",
                "type": "filters.reprojection"
            },
            {
                "filename": "USGS_LPC_AZ_VerdeKaibab_B2_TL_2018_LAS_2019.copc.laz",
                "inputs": [ "reprojectUTM" ],
                "tag": "writerscopc",
                "type": "writers.copc"
            },
            {
                "filename": "USGS_LPC_AZ_VerdeKaibab_B2_TL_2018_LAS_2019_dem.tif",
                "gdalopts": "tiled=yes, compress=deflate",
                "inputs": [ "writerscopc" ],
                "nodata": -9999,
                "output_type": "min",
                "resolution": 1.0,
                "type": "writers.gdal",
                "window_size": 6
            }
        ]
    }
pdal -v 5 pipeline ept2copc.json

When the pdal script completes, you will have two files: (1) a new .laz file with COPC baked into it, and (2) a digital elevation model GeoTIFF generated by GDAL.

Step 2 Find a COPC file on the internet

At the moment, there are not many COPC being hosted publicly online.

I have staged one here: https://data.cyverse.org/dav-anon/iplant/home/tswetnam/agic-2022/USGS_LPC_AZ_VerdeKaibab_B2_TL_2018_LAS_2019.copc.laz

You may choose to download this file to your local computer and you can view it with QGIS or some other point cloud viewer, however, that is not the point of this workshop! We want to keep our large files up on the cloud.

You can use the same https:// address to view this file in QGIS.

COPC Creation

Planetary Computer 3DEP Jupyter Notebook

Reference Material

Library of Congress LAS definition

OGC LAS Standard

USGS NGS Lidar Base Specification


Last update: 2022-11-15