pylas.vlrs.known module¶
The definition of the VLR Header, VLR, the KnownVLRs are in this module.
A KnownVLR is a VLR for which we know how to parse its record_data
-
class
pylas.vlrs.known.
IKnownVLR
[source]¶ Bases:
abc.ABC
Interface that any KnownVLR must implement. A KnownVLR is a VLR for which we know how to parse its record_data
Implementing this interfaces allows to automatically call the right parser for the right VLR when reading them.
-
static
official_user_id
() → str[source]¶ Shall return the official user_id as described in the documentation
-
static
official_record_ids
() → Tuple[int, ...][source]¶ Shall return the official record_id for the VLR
Note
Even if the VLR has one record_id, the return type must be a tuple
Returns: The record_ids this VLR type can have Return type: tuple of int
-
static
-
class
pylas.vlrs.known.
BaseKnownVLR
(record_id=None, description='')[source]¶ Bases:
pylas.vlrs.vlr.BaseVLR
,pylas.vlrs.known.IKnownVLR
,abc.ABC
Base Class to factorize common code between the different type of Known VLRs
-
class
pylas.vlrs.known.
ClassificationLookupVlr
[source]¶ Bases:
pylas.vlrs.known.BaseKnownVLR
This vlr maps class numbers to short descriptions / names
>>> lookup = ClassificationLookupVlr() >>> lookup[0] = "never_classified" >>> lookup[2] = "ground" >>> lookup[0] 'never_classified'
-
parse_record_data
(record_data: bytes) → None[source]¶ Shall parse the given record_data into a user-friendlier structure
Parameters: record_data (bytes) – The record_data bytes read from the file
-
record_data_bytes
() → bytes[source]¶ Shall return the bytes corresponding to the record_data part of the VLR as they should be written in the file.
Returns: The bytes of the vlr’s record_data Return type: bytes
-
-
class
pylas.vlrs.known.
LasZipVlr
(data: bytes)[source]¶ Bases:
pylas.vlrs.known.BaseKnownVLR
Contains the information needed by laszip (or any other laz backend) to compress the point records.
-
parse_record_data
(record_data: bytes) → None[source]¶ Shall parse the given record_data into a user-friendlier structure
Parameters: record_data (bytes) – The record_data bytes read from the file
-
record_data_bytes
() → bytes[source]¶ Shall return the bytes corresponding to the record_data part of the VLR as they should be written in the file.
Returns: The bytes of the vlr’s record_data Return type: bytes
-
static
official_user_id
() → str[source]¶ Shall return the official user_id as described in the documentation
-
-
class
pylas.vlrs.known.
ExtraBytesStruct
[source]¶ Bases:
_ctypes.Structure
-
NO_DATA_BIT_MASK
= 1¶
-
MIN_BIT_MASK
= 2¶
-
MAX_BIT_MASK
= 4¶
-
SCALE_BIT_MASK
= 8¶
-
OFFSET_BIT_MASK
= 16¶
-
no_data
¶
-
min
¶
-
max
¶
-
offset
¶
-
scale
¶
-
data_type
¶ Structure/Union member
-
description
¶ Structure/Union member
-
name
¶ Structure/Union member
-
options
¶ Structure/Union member
-
reserved
¶ Structure/Union member
-
unused
¶ Structure/Union member
-
-
class
pylas.vlrs.known.
ExtraBytesVlr
[source]¶ Bases:
pylas.vlrs.known.BaseKnownVLR
-
parse_record_data
(data)[source]¶ Shall parse the given record_data into a user-friendlier structure
Parameters: record_data (bytes) – The record_data bytes read from the file
-
record_data_bytes
()[source]¶ Shall return the bytes corresponding to the record_data part of the VLR as they should be written in the file.
Returns: The bytes of the vlr’s record_data Return type: bytes
-
-
class
pylas.vlrs.known.
WaveformPacketStruct
[source]¶ Bases:
_ctypes.Structure
-
bits_per_sample
¶ Structure/Union member
-
digitizer_gain
¶ Structure/Union member
-
digitizer_offset
¶ Structure/Union member
-
number_of_samples
¶ Structure/Union member
-
temporal_sample_spacing
¶ Structure/Union member
-
waveform_compression_type
¶ Structure/Union member
-
-
class
pylas.vlrs.known.
WaveformPacketVlr
(record_id, description='')[source]¶ Bases:
pylas.vlrs.known.BaseKnownVLR
-
parse_record_data
(record_data)[source]¶ Shall parse the given record_data into a user-friendlier structure
Parameters: record_data (bytes) – The record_data bytes read from the file
-
record_data_bytes
()[source]¶ Shall return the bytes corresponding to the record_data part of the VLR as they should be written in the file.
Returns: The bytes of the vlr’s record_data Return type: bytes
-
static
official_record_ids
()[source]¶ Shall return the official record_id for the VLR
Note
Even if the VLR has one record_id, the return type must be a tuple
Returns: The record_ids this VLR type can have Return type: tuple of int
-
-
class
pylas.vlrs.known.
GeoKeyEntryStruct
[source]¶ Bases:
_ctypes.Structure
-
count
¶ Structure/Union member
-
id
¶ Structure/Union member
-
tiff_tag_location
¶ Structure/Union member
-
value_offset
¶ Structure/Union member
-
-
class
pylas.vlrs.known.
GeoKeysHeaderStructs
[source]¶ Bases:
_ctypes.Structure
-
key_direction_version
¶ Structure/Union member
-
key_revision
¶ Structure/Union member
-
minor_revision
¶ Structure/Union member
-
number_of_keys
¶ Structure/Union member
-
-
class
pylas.vlrs.known.
GeoKeyDirectoryVlr
[source]¶ Bases:
pylas.vlrs.known.BaseKnownVLR
-
parse_record_data
(record_data)[source]¶ Shall parse the given record_data into a user-friendlier structure
Parameters: record_data (bytes) – The record_data bytes read from the file
-
record_data_bytes
()[source]¶ Shall return the bytes corresponding to the record_data part of the VLR as they should be written in the file.
Returns: The bytes of the vlr’s record_data Return type: bytes
-
-
class
pylas.vlrs.known.
GeoDoubleParamsVlr
[source]¶ Bases:
pylas.vlrs.known.BaseKnownVLR
-
parse_record_data
(record_data)[source]¶ Shall parse the given record_data into a user-friendlier structure
Parameters: record_data (bytes) – The record_data bytes read from the file
-
record_data_bytes
()[source]¶ Shall return the bytes corresponding to the record_data part of the VLR as they should be written in the file.
Returns: The bytes of the vlr’s record_data Return type: bytes
-
-
class
pylas.vlrs.known.
GeoAsciiParamsVlr
[source]¶ Bases:
pylas.vlrs.known.BaseKnownVLR
-
parse_record_data
(record_data)[source]¶ Shall parse the given record_data into a user-friendlier structure
Parameters: record_data (bytes) – The record_data bytes read from the file
-
record_data_bytes
()[source]¶ Shall return the bytes corresponding to the record_data part of the VLR as they should be written in the file.
Returns: The bytes of the vlr’s record_data Return type: bytes
-
-
class
pylas.vlrs.known.
WktMathTransformVlr
[source]¶ Bases:
pylas.vlrs.known.BaseKnownVLR
- From the Spec:
- Note that the math transform WKT record is added for completeness, and a coordinate system WKT may or may not require a math transform WKT record
-
parse_record_data
(record_data)[source]¶ Shall parse the given record_data into a user-friendlier structure
Parameters: record_data (bytes) – The record_data bytes read from the file
-
record_data_bytes
()[source]¶ Shall return the bytes corresponding to the record_data part of the VLR as they should be written in the file.
Returns: The bytes of the vlr’s record_data Return type: bytes
-
class
pylas.vlrs.known.
WktCoordinateSystemVlr
(wkt_string='')[source]¶ Bases:
pylas.vlrs.known.BaseKnownVLR
Replaces Coordinates Reference System for new las files (point fmt >= 5) “LAS is not using the “ESRI WKT”
-
parse_record_data
(record_data)[source]¶ Shall parse the given record_data into a user-friendlier structure
Parameters: record_data (bytes) – The record_data bytes read from the file
-
record_data_bytes
()[source]¶ Shall return the bytes corresponding to the record_data part of the VLR as they should be written in the file.
Returns: The bytes of the vlr’s record_data Return type: bytes
-