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.BaseKnownVLR(record_id=None, description='')[source]

Bases: pylas.vlrs.rawvlr.BaseVLR, pylas.vlrs.known.IKnownVLR

Base Class to factorize common code between the different type of Known VLRs

classmethod from_raw(raw)[source]
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'
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
static official_user_id()[source]

Shall return the official user_id as described in the documentation

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.ExtraBytesStruct[source]

Bases: _ctypes.Structure

data_type

Structure/Union member

description

Structure/Union member

format_name()[source]
max
min
name

Structure/Union member

no_data
offset
options

Structure/Union member

reserved

Structure/Union member

scale
static size()[source]
type_tuple()[source]
unused

Structure/Union member

class pylas.vlrs.known.ExtraBytesVlr[source]

Bases: pylas.vlrs.known.BaseKnownVLR

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
static official_user_id()[source]

Shall return the official user_id as described in the documentation

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
type_of_extra_dims()[source]
class pylas.vlrs.known.GeoAsciiParamsVlr[source]

Bases: pylas.vlrs.known.BaseKnownVLR

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
static official_user_id()[source]

Shall return the official user_id as described in the documentation

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

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
static official_user_id()[source]

Shall return the official user_id as described in the documentation

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.GeoKeyDirectoryVlr[source]

Bases: pylas.vlrs.known.BaseKnownVLR

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
static official_user_id()[source]

Shall return the official user_id as described in the documentation

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.GeoKeyEntryStruct[source]

Bases: _ctypes.Structure

count

Structure/Union member

id

Structure/Union member

static size()[source]
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

static size()[source]
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_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
static official_user_id()[source]

Shall return the official user_id as described in the documentation

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.LasZipVlr(data)[source]

Bases: pylas.vlrs.known.BaseKnownVLR

Contains the informations needed by laszip & lazperf to compress the point records.

classmethod from_raw(raw_vlr)[source]
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
static official_user_id()[source]

Shall return the official user_id as described in the documentation

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.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

static size()[source]
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

classmethod from_raw(raw_vlr)[source]
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
static official_user_id()[source]

Shall return the official user_id as described in the documentation

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”

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
static official_user_id()[source]

Shall return the official user_id as described in the documentation

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
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
static official_user_id()[source]

Shall return the official user_id as described in the documentation

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
pylas.vlrs.known.vlr_factory(raw_vlr)[source]

Given a raw_vlr tries to find its corresponding KnownVLR class that can parse its data. If no KnownVLR implementation is found, returns a VLR (record_data will still be bytes)