pylas package¶
Re-exported functions¶
-
pylas.
read
(source, closefd=True, laz_backend=())¶ Entry point for reading las data in pylas
Reads the whole file into memory.
>>> las = read_las("pylastests/simple.las") >>> las.classification <SubFieldView([1 1 1 ... 1 1 1])>
Parameters: - source (str or io.BytesIO) – The source to read data from
- laz_backend (Optional, the backend to use when the file is as LAZ file.) – By default pylas will find the backend to use by himself. Use if you wan a specific backend to be used
- closefd (bool) – if True and the source is a stream, the function will close it after it is done reading
Returns: The object you can interact with to get access to the LAS points & VLRs
Return type: pylas.lasdatas.base.LasBase
-
pylas.
open
(source, mode='r', closefd=True, laz_backend=None, header=None, do_compress=None) → Union[pylas.lasreader.LasReader, pylas.laswriter.LasWriter, pylas.lasappender.LasAppender]¶ The pylas.open opens a LAS/LAZ file in one of the 3 supported mode:
- “r” => Reading => a
pylas.LasReader
will be returned - “w” => Writing => a
pylas.LasWriter
will be returned - “a” => Appending => a
pylas.LasAppender
will be returned
When opening a file in ‘w’ mode, a header (
pylas.LasHeader
) is required>>> with open_las('pylastests/simple.las') as f: ... print(f.header.point_format.id) 3
>>> f = open('pylastests/simple.las', mode='rb') >>> with open_las(f,closefd=False) as flas: ... print(flas.header) <LasHeader(1.2, <PointFormat(3, 0 bytes of extra dims)>)> >>> f.closed False >>> f.close() >>> f.closed True
>>> f = open('pylastests/simple.las', mode='rb') >>> with open_las(f) as flas: ... las = flas.read() >>> f.closed True
Parameters: - source (str or bytes or io.BytesIO) – if source is a str it must be a filename
- mode (Optional, the mode to open the file:) –
- “r” for reading (default)
- ”w” for writing
- ”a” for appending
- laz_backend (Optional, the LAZ backend to use to handle decompression/comression) – By default available backends are detected, see LazBackend to see the preference order when multiple backends are available
- header (The header to use when opening in write mode.) –
- do_compress (optional, bool, only meaningful in writing mode:) –
- None (default) guess if compression is needed using the file extension
or if a laz_backend was explicitely provided - True compresses the file - False do not compress the file
- closefd (optional, bool, True by default) – Whether the stream/file object shall be closed, this only work when using open_las in a with statement. An exception is raised if closefd is specified and the source is a filename
- “r” => Reading => a
-
pylas.
create
(*, point_format: Union[pylas.point.format.PointFormat, int, None] = None, file_version: Union[pylas.header.Version, str, None] = None)¶ Function to create a new empty las data object
Note
If you provide both point_format and file_version an exception will be raised if they are not compatible
>>> las = create_las(point_format=6,file_version="1.2") Traceback (most recent call last): ... pylas.errors.PylasError: Point format 6 is not compatible with file version 1.2
If you provide only the point_format the file_version will automatically selected for you.
>>> las = create_las(point_format=0) >>> las.header.version == '1.2' True
>>> las = create_las(point_format=PointFormat(6)) >>> las.header.version == '1.4' True
Parameters: - point_format – The point format you want the created file to have
- file_version – The las version you want the created las to have
Returns: A new las data object
Return type: pylas.lasdatas.base.LasBase
-
pylas.
convert
(source_las, *, point_format_id=None, file_version=None)[source]¶ Converts a Las from one point format to another Automatically upgrades the file version if source file version is not compatible with the new point_format_id
convert to point format 0
>>> las = read_las('pylastests/simple.las') >>> las.header.version Version(major=1, minor=2) >>> las = convert(las, point_format_id=0) >>> las.header.point_format.id 0 >>> str(las.header.version) '1.2'
convert to point format 6, which need version >= 1.4 then convert back to point format 0, version is not downgraded
>>> las = read_las('pylastests/simple.las') >>> str(las.header.version) '1.2' >>> las = convert(las, point_format_id=6) >>> las.header.point_format.id 6 >>> str(las.header.version) '1.4' >>> las = convert(las, point_format_id=0) >>> str(las.header.version) '1.4'
an exception is raised if the requested point format is not compatible with the file version
>>> las = read_las('pylastests/simple.las') >>> convert(las, point_format_id=6, file_version='1.2') Traceback (most recent call last): ... pylas.errors.PylasError: Point format 6 is not compatible with file version 1.2
Parameters: - source_las (pylas.lasdatas.base.LasBase) – The source data to be converted
- point_format_id (int, optional) – The new point format id (the default is None, which won’t change the source format id)
- file_version (str, optional,) – The new file version. None by default which means that the file_version may be upgraded for compatibility with the new point_format. The file version will not be downgraded.
Returns: Return type: pylas.lasdatas.base.LasBase
Re-exported classes¶
Submodules¶
- pylas.lib module
- pylas.header module
- pylas.lasreader module
- pylas.lasdata module
- pylas.vlrs.vlrlist module
- pylas.vlrs.known module
- pylas.vlrs.vlr
- pylas.point.record module
- pylas.errors module
- pylas.compression module
- pylas.point.format module
- pylas.lasmmap module
- pylas.lasappender
- pylas.laswriter module