Skip to content

Clarify specification of X, Y, and Z Scale Factors #143

@SunBlack

Description

@SunBlack

What is the issue about?

Inquiry about the specification

Issue description

We often have a discussion within our team about how the following part of the specification is meant:

LAS/source/02.04_header.sub

Lines 314 to 316 in a241241

point record value to get the actual X, Y, or Z coordinate. For example, if the
X, Y, and Z coordinates are intended to have two decimal digits, then each
scale factor will contain the number 0.01.

There are two different views on how to interpret this. As an example, you can take a point cloud with 8 points per unit, i.e. the coordinates are at a distance of 0.125, meaning that all coordinates have a (minimum) distance of 0.125:
Interpretation 1) When seen as decimal numbers, a resolution of 0.001 would be required, which means that the scale factor should also be set to this value.
Interpretation 2) Seen as a quantized scale, as shown in the calculation in the next section, the value could also be set to 0.125.

The difference between the two is that the coordinate values are always 125 apart in the first interpretation as an integer, but only 1 apart in the second, which means that LAZ compression is probably more efficient because the integer has more leading 0 bits.

However, since the data we receive usually corresponds to the convention of 1) and not 2), the question is how exactly this should be interpreted. However, I assume that 2) is meant, since the implementations of the readers that I have seen so far calculate it the way it is usually done with a quantized scale, in particular, as otherwise the scale factor could have been saved as an integer (number of decimal places) instead of as a float.

Would it therefore be possible to improve the specification so that it is clear which of the two variants is meant?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions