ASPRSorg / LAS

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

Provide clarification on Endianness and usage of Project GUID fields #38

Closed esilvia closed 5 years ago

esilvia commented 6 years ago

There's extensive confusion about how to implement the 128-bit GUID in the LAS header, particularly since the standard method for UUID on wikipedia uses five elements (4-2-2-2-6 in bytes) and the LAS header uses four elements (4-2-2-8 in bytes). It's unclear how they should be split, whether UTF-8 characters are encoded vs. numbers, and whether the byte ordering should be Little-Endian (as the rest of the LAS file) or Big-Endian (like the UUID standard).

More detail in the following discussions:

esilvia commented 6 years ago

Based on the way that it's defined in the LAS header (sequential chars), it looks like the LAS spec most closely aligns with the Microsoft style endian encoding described on the Wikipedia page.

image

esilvia commented 5 years ago

@lgraham-geocue @rapidlasso I can add an example like this to the specification as on page 11 here: https://s3.amazonaws.com/asprs-las/LAS-specification-4753ee7ea9551e3b0b9f1eb257a1c56259c3186f.pdf

Does this work, or does it just complicate the specification? I can also make an explanatory wiki page with some examples instead.

lgraham-geocue commented 5 years ago

Are you referring to the use of Offset example?

esilvia commented 5 years ago

No, this is for the old discussion on ProjectID. If it's unclear, you might find it helpful to click on the GitHub link at the bottom of the email to get some context.

esilvia commented 5 years ago

Sorry @lgraham-geocue, now I see what you meant. I was referring to Page 11 of the PDF, which is Page 8 of the specification here: https://s3.amazonaws.com/asprs-las/LAS-specification-4753ee7ea9551e3b0b9f1eb257a1c56259c3186f.pdf

I was asking if you'd review the updated language for the Project ID (GUID Data) section. Here's a screenshot if that helps: image

esilvia commented 5 years ago

I'm thinking the last sentence could be clarified with brackets like [33 22 11 00] [55 44] [77 66] [88 99 aa bb cc dd ee ff] to differentiate between the fields.

esilvia commented 5 years ago

Because the Project ID is optional and the actual implementation can be left up to the user, I opted to create a wiki page here: https://github.com/ASPRSorg/LAS/wiki/LAS-ProjectID-Encoding-and-Representation

I'll add a link to this wiki page in the specification.