pylas.vlrs.vlrlist module¶
-
class
pylas.vlrs.vlrlist.
VLRList
(*args, **kwargs)[source]¶ Bases:
list
Class responsible for managing the vlrs
-
index
(value, start: int = 0, stop: int = None) → int[source]¶ Return first index of value.
Raises ValueError if the value is not present.
-
get_by_id
(user_id='', record_ids=(None, ))[source]¶ Function to get vlrs by user_id and/or record_ids. Always returns a list even if only one vlr matches the user_id and record_id
>>> import pylas >>> from pylas.vlrs.known import ExtraBytesVlr, WktCoordinateSystemVlr >>> las = pylas.read("pylastests/extrabytes.las") >>> las.vlrs [<ExtraBytesVlr(extra bytes structs: 5)>] >>> las.vlrs.get(WktCoordinateSystemVlr.official_user_id()) [] >>> las.vlrs.get(WktCoordinateSystemVlr.official_user_id())[0] Traceback (most recent call last): IndexError: list index out of range >>> las.vlrs.get_by_id(ExtraBytesVlr.official_user_id()) [<ExtraBytesVlr(extra bytes structs: 5)>] >>> las.vlrs.get_by_id(ExtraBytesVlr.official_user_id())[0] <ExtraBytesVlr(extra bytes structs: 5)>
Parameters: - user_id (str, optional) – the user id
- record_ids (iterable of int, optional) – THe record ids of the vlr(s) you wish to get
Returns: a list of vlrs matching the user_id and records_ids
Return type:
-
get
(vlr_type: str) → List[pylas.vlrs.known.IKnownVLR][source]¶ Returns the list of vlrs of the requested type Always returns a list even if there is only one VLR of type vlr_type.
>>> import pylas >>> las = pylas.read("pylastests/extrabytes.las") >>> las.vlrs [<ExtraBytesVlr(extra bytes structs: 5)>] >>> las.vlrs.get("WktCoordinateSystemVlr") [] >>> las.vlrs.get("WktCoordinateSystemVlr")[0] Traceback (most recent call last): IndexError: list index out of range >>> las.vlrs.get('ExtraBytesVlr') [<ExtraBytesVlr(extra bytes structs: 5)>] >>> las.vlrs.get('ExtraBytesVlr')[0] <ExtraBytesVlr(extra bytes structs: 5)>
Parameters: vlr_type (str) – the class name of the vlr Returns: a List of vlrs matching the user_id and records_ids Return type: list
-
extract
(vlr_type: str) → List[pylas.vlrs.known.IKnownVLR][source]¶ Returns the list of vlrs of the requested type The difference with get is that the returned vlrs will be removed from the list
Parameters: vlr_type (str) – the class name of the vlr Returns: a List of vlrs matching the user_id and records_ids Return type: list
-
classmethod
read_from
(data_stream: BinaryIO, num_to_read: int, extended: bool = False) → pylas.vlrs.vlrlist.VLRList[source]¶ Reads vlrs and parse them if possible from the stream
Parameters: - data_stream (io.BytesIO) – stream to read from
- num_to_read (int) – number of vlrs to be read
- extended (bool) – whether the vlrs are regular vlr or extended vlr
Returns: List of vlrs
Return type:
-