PCD (Point Cloud Data) Quick Facts

Jump to:

About Quick Facts Tables

Format Type Identifier

PCD

Reader/Writer

Both

Licensing Level

Professional and above

Dependencies

None

Dataset Type

Folder or File

Feature Type

File base name

Typical File Extensions

.pcd

Automated Translation Support

Yes

User-Defined Attributes

No

Coordinate System Support

No

Generic Color Support

No

Spatial Index

Never

Schema Required

No

Transaction Support

No

Geometry Type Attribute

pcd_type

Encoding Support No

PCD Geometry Support

Geometry

Supported?

aggregate no

circles

no

circular arc

no

donut polygon

no

elliptical arc

no

ellipses

no

line

no

none

no

point

no

point cloud

yes

polygon

no

raster

no

solid

no

surface

no

text

no

z values

yes

Supported Component Types

PCD only supports numeric data in its point clouds, so text-based data cannot be saved in this format. The supported component types in PCD are:

  • Signed and unsigned 1-byte integers
  • Signed and unsigned 2-byte integers
  • Signed and unsigned 4-byte integers
  • 4-byte floating point numbers
  • 8-byte floating point numbers

Components with Special Semantics

PCD can support point clouds with arbitrarily named components. Components with certain names will be treated with special meaning as described in the table below.

Component Name

Meaning

x Spatial coordinate, x dimension
y Spatial coordinate, y dimension
z Spatial coordinate, z dimension
normal_x Normal vector, x component
normal_y Normal vector, y component
normal_z Normal vector, z component
intensity  
color_a Color, Alpha component, UInt8
color_r Color, Red component, UInt8
color_g Color, Green component, UInt8
color_b Color, Blue component, UInt8

Color

PCD supports color with a 4-byte rgb or rgba component; this contains the same information as the group of color_red, color_green, color_blue, and color_alpha components.

The reader will automatically split an rgb or rgba field into the 3 separate components so FME can correctly handle the color information. The reader will also create a color_alpha component if the input PCD has the rgba field instead of an rgb field. Since each byte of the color field maps to a single color channel, each component will have the type UInt8.

On write, color components will be packed into a single color field: if color_alpha is not present, an rgb field will be generated (instead of an rgba field). Any color component not present in the cloud will have its value set to 0 by default. PCD defaults color to a 4-byte floating point type field, and this behavior is maintained in the writer (therefore, color values may appear unexpectedly).

Supplying color fields in a handwritten PCD can also be done using the 3 color_red, color_green, and color_blue fields set to unsigned 1-byte fields. The PCD reader will pass these components as-is to FME, where their color will be treated natively.