ASPRSorg / LAS

LAS Specification
https://www.asprs.org/committee-general/laser-las-file-format-exchange-activities.html
146 stars 17 forks source link

Clarification of classification table #87

Closed esilvia closed 4 years ago

esilvia commented 4 years ago

Originally posted by Nozer Turel on the LASTools forum: https://groups.google.com/forum/#!topic/lastools/7jss8odKzBc

Summary question 1:

Which point format is best? Does the use of the more highly attributed point formats (e.g., PDRF 10) imply that the attributes must be populated with real values?

Summary question 2:

Do the classification tables (table 8 and table 17 in LAS 1.4.R15) imply that a valid LAS file must have all features and points fully classified in accordance with that table?

esilvia commented 4 years ago

Answer 1:

Which point format is best? Does the use of the more highly attributed point formats (e.g., PDRF 10) imply that the attributes must be populated with real values?

The "best" point format will depend on your application... in short, the best format is the smallest point format that meets the needs of your project and any future projects that might use your data.

For LAS 1.4, point formats 0-5 should generally not be considered because their usage will result in the loss of potentially useful data. They have been entirely replaced by point formats 6-10, as indicated in the introduction to section 2.6.

The "default" point format for LAS 1.4, if there is one, would be format 6. Point formats 7-10 provide a standard way to store RGB, NIR, and/or waveform data with each point record, if it exists. If that supplemental information doesn't exist for a particular dataset (i.e., no waveform data was recorded), then usage of the larger point formats will simply result in wasting storage space with null values. It is valid to use the larger point format with null values, but not recommended.

Answer 2:

Do the classification tables (table 8 and table 17 in LAS 1.4.R15) imply that a valid LAS file must have all features and points fully classified in accordance with that table?

No. Martin @rapidlasso put it nice and succinctly (emphasis added by me):

The APSRS specification does not mandate any classifications. We merely agree upon the meaning of certain classification codes. A tender that asks for raw and unclassified LiDAR would usually expect a point delivery with all classifications being set to zero. A tender that asks for classified and/or flagged LiDAR should specify what classifications are desired. And those are independent from the point type as all standard classifications can be provided for all point types from 0 through 10. […] Any requested classifications beyond that should - in my opinion - be spelled out in detail in the tender document. For a city scan that can be any subset of vegetation (high, medium, low), buildings, road surface, water, bridge, ... and so on. But there is not implied default set of classifications in any LAS point format.

And now I'll do a longer explanation.

Section 2.6.1 (page 17) of the specification states that the classification for individual points "must adhere to the standard" outlined in tables 8 and 17. This means that while any individual point can be assigned any classification in the range 0-255, the meaning of a specific subset of classifications (0-31) is dictated by tables 8 and 17 - e.g., a point with classification 2 should convey the meaning of being a Ground point, and a point with classification 6 should convey the meaning of being a Building point. Assigning any other meaning to classification 2 or 6 (for example) would be in violation of the specification. For the sake of completeness, classes 64-255 are available in point formats 6-10 and are explicitly reserved for general usage and have no standard meaning other than what may be imposed by any applicable LAS Domain Profiles (chapter 6 of the LAS specification). The data provider should provide metadata describing those classifications, such as by including the Classification Table VLR.

Any points that have not received a classification are typically assigned the value of 1 - Default to convey the meaning that while the point cloud has received classification, that particular point has not been classified. If the entire point cloud has received no classification at all, then all points are generally assigned class 0. This is the convention described in the footnote on page 30.

There is no implication that every valid LAS 1.4 point cloud must possess all standard classifications. Indeed, such a thing would be impossible because some classifications can't exist in some datasets - e.g., buildings and water might not be present, and the differences between some classifications like the vegetation classes are intentionally vague and application-specific.

Summary

In short, the specification dictates that if class 6 is present, it should correspond to the Building class and not, for example, a water body. It does not, however, mandate that any buildings present in the dataset be classified. The same applies to all standard classifications.

Recommendation

It is typical for a purchaser of point cloud data to specify which classifications are desired either explicitly or by referencing a standard (e.g., the USGS LiDAR Base Specification) with a list/table of minimum classifications.

Sincerely, Evon Silvia Chair of the ASPRS LAS Working Group

nozert commented 4 years ago

Dear Evon,

Thanks for the clarification.