Common interpretations of the data that may be used. This type may be extended under the expectation that clients know how to consume the data. In the case of string-like data, use uint8_t (common byte) as the interpretation and transform accordingly. Because nulls (or even multi-byte strings) might be allowed, there are no common string interpretations provided by default. Used to describe the storage endianness of the data in the dimension. The dimension's position in the block of point data (counting from 0) The size of this dimension in bytes. A dimension may have be holding its place in bytes but might not have actual values that mean anything. This flag can be used to skip the dimension in that case. This element describes how the data should be interpreted. In the case of conflicting data, for example when then size is 2, but the interpretation is "uint32_t", the size determines how much precision is available. The minimum value of this dimension. The maximum value of this dimension. The double offset to use when applying a scaling factor to an integer dimension The scale of this dimension. Used to support scaled integer types Describes the storage endianness of the dimension. A dimension may use a UUID as a unique identifier globally for all dimensions of a specified type. PDAL uses UUIDs to be able to determine which formats produced the specified dimension in situations where that information is helpful. In addition to a uuid, a parent_uuid might also be specified to express the parent/child relationship of two dimensions. PDAL uses uuid/parent_uuid to describe dimensions that are derivatives of each other. For example, they may have the same name and other attributes, but the parent/child relationship describes which one to use under certain circumstances.