ASPRSorg / LAS

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

Reword specification to be consistent on the mandatory nature of CRS VLR #85

Open pchilds opened 5 years ago

pchilds commented 5 years ago

I find it is rare to come across a las file that even has the mandatory VLR for the coordinate system. It does not help that the specification is inconsistent in this regard (giving the strong impression in reading from the beginning that VLRs are only ever optional):

The format contains binary data consisting of a public header block, any number of (optional) Variable Length Records (VLRs), the Point Data Records, and any number of (optional) Extended Variable Length Records (EVLRs)

The Public Header Block can be followed by any number of Variable Length Records (VLRs)

I believe many software developers once obtaining this impression will skip reading beyond the core of the specification to discover that the use of a CRS VLR is actually required by the specification.

hobu commented 5 years ago

Coordinate Reference System VLRs (Required)

I don't know when that VLR got made required. I don't think it was required in older versions of the document, and indeed it is legitimate to have data without CRS. IMO, the CRS statements in Section 3 should be relaxed.

esilvia commented 5 years ago

@hobu Why would we relax this requirement? Although nothing is necessarily broken by excluding the CRS information, having that requirement in the LAS specification has in the past given agencies leverage to require their data providers to put in the effort to add encoding, rather than relying on outside definitions. The only time this has broken down for me is when people need a local CRS that has no projection definition, in which case we made an exception to this rule.

I don't know the history well enough to know when the CRS VLR became required, but I think @pchilds makes sense to explicitly call out the CRS VLR as being required. It never occurred to me that someone might skip over the CRS section.

hobu commented 5 years ago

@hobu Why would we relax this requirement?

pchilds commented 5 years ago

Through the las specifications 1.0 to 1.3 there has been the statements: "The projection information for the point data is required...", "There is one mandatory Variable Length Record, GeoKeyDirectoryTag...", "Only the GeoKeyDirectoryTag record is required". Afaik the CRS has always been mandatory, it is only with v1.4 as to whether to place it in a VLR or EVLR and as a result the statements as to its requirements have been shunted further down in the document.

hobu commented 5 years ago

My experience with PDAL development has been to somewhat commonly see data without any VLRs, especially data in scanner-local coordinate systems as part of a larger project. We shouldn't change the specification or relax the requirement given the history @esilvia, but do recognize there is a lot of data potentially out there that doesn't follow along.