Orbit Point Cloud

This page documents the Orbit Point Cloud (OPC) storage format.

Structure

An OPC stores point geometry and attribute.
The OPC file has extended data structure capabilities compared to other point cloud storage formats like LAS and E57.

An Orbit Point Cloud is built up of several OPC levels and depending on your zoom level when viewing the points, you see the OPC level which is best for rendering then. Level 1 consists of the least number of points, which is rendered when you're looking at the point cloud when you're zoomed out completely. The highest level consists of the highest number of points, which is rendered when looking very close to the points. If filtering is off, the highest level consists of all the points of the original point cloud.

Reasons to use

The OPC is extremely optimized for fast viewing and querying of point cloud data in Orbit. The format is platform-independent without dependencies or the use of third-party libraries.
The unique technology makes it possible to view and use unlimited size point cloud resources.

The OPC is not optimized for storage volume.
The file size is similar to the LAS file, but options are available to filter points (homogeneous maximum point density) or strip attributes (delete Timestamp, R, G, B, I) at import to reduce the file size significantly.

Create

An OPC can be generated by importing 3rd party point cloud source files or by exporting a selection or subset of another OPC

Point Cloud Reference Resources

Mapping Resources

Read Options for Ascii files

When using an ASCII text file as a source file to create an OPC, a text_import.ini configuration file must be present in the source directory. This configuration file describes the file structure including the value separator as ASCII character code.

Example of geographical coordinates, including Intensity and RGB values. Space-separated.

ColumnNames lat;lon;z;i;r;g;b
Separator 32

Example of projected coordinates without additional attributes. Tab-separated.

ColumnNames x;y;z
Separator 9

Write Options

Strip Attributes

Options to exclude source attributes in the target point cloud file.
Excluding the source timestamps in the target file will significantly reduce the point cloud file size.

Filtering

The spatial filer option targets an overall homogeneous maximum point density. Filtering is strongly recommended to optimize point cloud data for web streaming and avoids high peaks of point density.
A single point cloud point per Voxel will be retained. One Block has 64x64x64 Voxels.

Classification

Generate a dedicated OPC target file for each source point cloud class.
More information about Point Cloud Classification, see

Block Size

A Block is a spatial entity to store point cloud points within a level of the multi-resolution OPC file. The Block Size is the cubical dimension of Blocks at the lowest level of the OPC file. The Block Size unit is defined by the target Dataset CRS and metric when using Geographical CRS. The best block size is found when the ratio between the number of points in one level and the next level is between 2 to 4.
The Block Size affects the multi-resolution performance, the file size, and defines Voxel Filtering if set.

  • Auto define density by random samples for optimized performance.
  • Preset density for specific use cases:
    • TLS (Terrestrial LiDAR Scan) / High density / Block size 0.5
    • MLS (Mobile LiDAR Scan) / Medium density / Block size 1
    • ALS (Airborne LiDAR Scan) / Low density / Block size 50
  • Custom block size 1)

Mapping Resources

The write options for a point cloud that is part of a mapping resource in the pointcloud/point_cloud.write.options.ini. The example configuration:

density.filter.treshold 1
block.size 1.0
write.attribute.GPSTime 0
write.attribute.color 1
write.attribute.intensity 1
intensity.8bit 1
write.attribute.classification 1

Or

density.filter.treshold=1
block.size=1.0
write.attribute.GPSTime=false
write.attribute.color=true
write.attribute.intensity=true
intensity.8bit=true
write.attribute.Classification=true

For this configuration: the point cloud filtering is enabled, block size is set to 1, the timestamp attribute is stripped, the color, intensity and classification attribute are written and the intensity values are clipped to an 8-bit range.

Processing Time

Importing a point cloud resource file to OPC is a one time process.
Processing time is affected by :

  • Storage format of source data.
  • Storage location of source and target.
  • Processing and computing power.

For example, reading a LAS file from SSD to write an OPC to SSD storage using Intel i7 processor and 4GB Memory will take 2 Seconds per Million points.

Remove Header

The CRS header can be removed from the Resource via the Dataset Properties Window. Unique upload situations may require OPC data to not have the CRS header. Some situations include:

  • Geospatial Alignments in iModels
    • iModels with custom CRS
    • Local Scan Data
    • Scan data referenced and tied to custom iModel CRS
    • No available CRS to assign local data

Clearing the Point Cloud header enables the OPC data to be placed within the local/custom CRS grid from these iModel(s). Take note, extra care, knowledge, and information is required for these geospatial alignments.

If the iModels requires this, the import Mapping Template can have the pointcloud.write.options.ini updated with:

 remove.crs.header true 

Legend and Georeference

The resource can be accompanied by an Orbit Legend File and Orbit Resource Descriptor.

1)
Once the handler of a slider is selected, the left-right arrow keys can be used for precise adjustments.
 
Last modified:: 2024/07/24 20:40