-
Notifications
You must be signed in to change notification settings - Fork 18
Standard ExtraByte Definitions
(Use with caution. This document is still in draft format. Please reference Issue 37 and related for discussion.)
A point has "extra bytes" when the Point Data Record Length in the LAS header is set to a larger value than the minimum required by the Point Data Record Format. LAS 1.4 has introduced a new VLR that describes the meaning of these "extra bytes" with one descriptor per attribute. This structure has contained one Reserved field that had to be set to zero in the past, but as of Revision RXX can be assigned a number enumerated in this registry.
Adding Standard ExtraBytes to this registry makes it easier to write, read, and exploit these optional point attributes across different software packages and applications.
By not including this registry in the specification itself, we (the LAS Working Group) hope to keep this registry flexible and make it easier to add additional attributes. Users are permitted to deviate from this standard; however, any ExtraBytes not adhering to this standard must set the ID code to zero.
Have a standard ExtraByte you'd like to add? Create an issue on the GitHub interface and we'll talk about it!
These definitions are currently draft and not yet finalized. See Issue 37 and Issue 60 to contribute your insight into the discussion.
The standard ExtraBytes are defined in the table below. Detailed descriptions are provided in the sections following.
Common Name | Units# | ID | Size* | data_type* | Formal Name* | nodata* | min$ | max$ | scale* | offset* | Description^ |
---|---|---|---|---|---|---|---|---|---|---|---|
Pulse Width | Nanoseconds [ns] | 200 | 2 | 3 (ushort) | pulse width | 0 | 0.1 | 1000.0 | 0.1 | 0 | Full width at half maximum [ns] |
Height Above Ground | Meters [m] | 201 | 2 | 4 (short) | height above ground | 0 | -327.68 | 327.67 | 0.01 | 0 | Vertical point to TIN distance |
Group/Object ID | Unit-less | 202 | 8 | 8 (ulonglong) | groupid | 0 | n/a | n/a | n/a | n/a | 64-bit group identifier |
Horizontal Uncertainty | Meters [m] | 112 | 1 | 1 (uchar) | sigma xy | 255 | 0.0 | 2.54 | 0.01 | 0 | Horiz. coordinate uncertainty |
Vertical Uncertainty | Meters [m] | 113 | 1 | 1 (uchar) | sigma z | 255 | 0.0 | 2.54 | 0.01 | 0 | Vert. coordinate uncertainty |
Bathymetric Flags | Bit field | 104 | 1 | 1 (uchar) | bathymetric flags | 0 | n/a | n/a | n/a | n/a | Bathymetric bit flags |
Refracted Vector Length | Meters [m] | 114 | 2 | 3 (ushort) | refracted range | 0 | 0.01 | 655.35 | 0.01 | 0 | Submerged vector length post-ref |
Beam ID | Unit-less | 1 | 1 | 1 (uchar) | beam id | 255 | 0 | 255 | n/a | n/a | Extended channel ID |
- # Units are not currently specified in the attribute descriptor and so are provided as a suggestion for implementors. They are likely to vary between implementations, particularly for geometric units such as meters or feet.
- * Field is required to have this value to meet the standard.
- ^ Field is recommended but is allowed to vary.
- $ Min and max values are the theoretical minimums and maximums with the scale and offset applied. The ExtraByte VLR of a LAS file should list the actual minimum and maximum for that file.
The pulse width is defined as full width at half maximum of the received echo signal and is measured in nanoseconds (ns). The pulse width can be regarded as a quality indicator of received echo signals. The width of a received echo signal depends on the geometry of the hit target.
Stores the point’s height above a ground surface. Units will often be whatever vertical units are relevant to the LAS file, but meters are recommended for uniformity between implementations. Points below the ground surface will have negative values. This attribute can also be used for surfaces other than ground, such as a water or canopy surface.
There is a variant of this using 4-byte integers (signed long), but the standard version is 2 bytes.
Provides an identifier for grouping points together as an object or group, such as an index value to a shapefile polygon, lookup identifier for an attribute table stored externally, or feature identifier for fine-grained segmentation.
Provides an alternative means to convey the total propagated uncertainty of a point’s coordinates, replacing the now-deprecated “XYZ Coordinate Uncertainty” previously included with the Topobathy LDP. Informally this could also be referred to as the accuracy or precision of the point coordinates.
The XY dimensions have been combined to make the horizontal uncertainty independent from the projection.
Units will almost always be meters, but may vary depending on the source data.
The bathymetry bit flags are intended as a means of indicating other topobathymetric point or processing attributes that have not yet been identified and/or do not merit a separate point class or separate Extra Bytes VLR.
Bit 0 is used to flag whether or not a refraction correction has been applied.
Currently, the other 7 bits are reserved for future use.
This attribute is defined in the Topobathy LDP.
The submerged distance along the range vector from the origin to the measured point, defined as the post-refraction distance from the point of intersection with the water surface to the measured point itself. Useful for depth-based intensity corrections based on attenuation.
Also known as refracted range.
Need to know more? Want a wiki page on another topic? Found an error? Submit an issue or contact the LAS Working Group at [email protected].