wolfhece.lazviewer.laz_viewer
Module Contents
- class wolfhece.lazviewer.laz_viewer.Colors_Lazviewer[source]
Bases:
enum.Enum
Generic enumeration.
Derive from this class to define new enumerations.
- class wolfhece.lazviewer.laz_viewer.xyz_laz(fn: str = '', format: Literal[las, numpy] = 'las', to_read: bool = True)[source]
Classe de gestion des fichiers XYZ+Class issus d’un gros fichier laz
- read_bin_xyz()[source]
Lecture d’un fichier binaire de points XYZ+classification généré par la fonction sort_grid_np Le format est une succession de trame binaire de la forme :
nbpoints (np.int32) X[nbpoints] (np.float32) ou (np.float64) Y[nbpoints] (np.float32) ou (np.float64) Z[nbpoints] (np.float32) Classif[nbpoints] (np.int8)
Il est possible de récupérer une matrice numpy shape(nbtot,4) ou un objet laspy via l’argument ‘out’ (par défaut à ‘las’)
- class wolfhece.lazviewer.laz_viewer.xyz_laz_grid(mydir: str)[source]
Gestion d’un grid de données LAZ
- scan(bounds: tuple[tuple[float, float], tuple[float, float]] | list[list[float, float], list[float, float]])[source]
Find all points in bounds
- class wolfhece.lazviewer.laz_viewer.xyz_laz_grids(dir_grids: str, create: bool = False)[source]
Ensemble de grids
- scan(bounds: tuple[tuple[float, float], tuple[float, float]] | list[list[float, float], list[float, float]]) numpy.ndarray [source]
Scan all LAZ to find used data
- Parameters:
bounds (Union[tuple[tuple[float,float],tuple[float,float]], list[list[float, float],list[float, float]]]) – [[xmin,xmax], [ymin,ymax]]
- Returns:
np.ndarray
- find_files_in_bounds(bounds: tuple[tuple[float, float], tuple[float, float]] | list[list[float, float], list[float, float]])[source]
- copy_files_in_bounds(bounds: tuple[tuple[float, float], tuple[float, float]] | list[list[float, float], list[float, float]], dirout: str)[source]
- scan_around(xy: shapely.geometry.LineString | list[list[float], list[float]], length_buffer=5.0)[source]
Récupération de points LAZ autour de la section
- plot_laz(xy: shapely.geometry.LineString | list[list[float], list[float]], length_buffer=5.0, figax: tuple[matplotlib.figure.Figure, matplotlib.axes.Axes] = None, show=False)[source]
Dessin des points LAZ sur un graphique Matplotlib
- class wolfhece.lazviewer.laz_viewer.Wolf_LAZ_Data(idx: str = '', plotted: bool = False, mapviewer=None, need_for_wx: bool = False)[source]
Bases:
wolfhece.drawing_obj.Element_To_Draw
Base class for LAZ data which can be imported in Pydraw.Mapviewer.
- property xyz_selected: numpy.ndarray[source]
Extract the selected points from the viewer.
Filter the selected points by codes if _select_only_codes is not empty.
- property mvp[source]
Model View Projection matrix
See https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93projection_matrix for details
- merge(other: Wolf_LAZ_Data)[source]
Merge two Wolf_LAZ_Data objects
- _eye_pos()[source]
Compute eye pos from lookat and r, phi, theta.
phi is the azimuth angle (radians) theta is the elevation angle (radians) r is the distance from lookat
- create_viewer(color_code: Colors_Lazviewer = None, classification: Classification_LAZ = None)[source]
Create a viewer for las data
- set_classification(classification: str = None)[source]
Set classification of LAZ data
TODO : Check if 2020-2022 SPW campaign is the same classification as 2013
- from_grid(grid: xyz_laz_grids, bounds: tuple[tuple[float, float], tuple[float, float]] | list[list[float, float], list[float, float]])[source]
Create data from grid LAZ
- descimate(step: int)[source]
Descimate data.
Conserve only one point every ‘step’ points.
- Parameters:
step – step of descimation
- play_flight(tlim=[-np.inf, np.inf], repeat=False, interp='cubic_natural')[source]
Play flight memory
- record_flight(dirout: str, tlim=[-np.inf, np.inf], interp='cubic_natural', fps=24, prefix: str = 'laz_', ext: str = 'png')[source]
Record flight memory in multiple images
FIXME : FREEZE the app –> to debug
- wolfhece.lazviewer.laz_viewer.find_pointsXYZ(xyz: numpy.ndarray, bounds: tuple[tuple[float, float], tuple[float, float]] | list[list[float, float], list[float, float]]) numpy.ndarray [source]
- wolfhece.lazviewer.laz_viewer.find_points(las: laspy.LasData, xb: list[float, float], yb: list[float, float]) laspy.LasData [source]
Get arrays which indicate invalid X, Y, or Z values
- wolfhece.lazviewer.laz_viewer.read_laz(fn: str, bounds: tuple[tuple[float, float], tuple[float, float]] | list[list[float, float], list[float, float]] = None) numpy.ndarray | laspy.LasData [source]
Lecture d’un fichier LAZ, LAS ou NPZ
- wolfhece.lazviewer.laz_viewer.xyzlaz_scandir(mydir: str, bounds: tuple[tuple[float, float], tuple[float, float]] | list[list[float, float], list[float, float]])[source]
Scan for XYZ files
- wolfhece.lazviewer.laz_viewer.laz_scandir(mydir: str, bounds: tuple[tuple[float, float], tuple[float, float]] | list[list[float, float], list[float, float]]) list[laspy.LasData] [source]
Scan directory and treat .laz files
- wolfhece.lazviewer.laz_viewer.clip_data_xyz(dir_in: str, fn_out: str, bounds: tuple[tuple[float, float], tuple[float, float]] | list[list[float, float], list[float, float]])[source]
Get data and write zip numpy file
- wolfhece.lazviewer.laz_viewer.clip_data_laz(fn_in: str, fn_out: str, bounds: tuple[tuple[float, float], tuple[float, float]] | list[list[float, float], list[float, float]], chunksize: int = 5000000)[source]
- wolfhece.lazviewer.laz_viewer.get_concat_h(im1: PIL.Image.Image, im2: PIL.Image.Image)[source]
Concatenate 2 images horizontally
- wolfhece.lazviewer.laz_viewer.get_concat_v(im1: PIL.Image.Image, im2: PIL.Image.Image)[source]
Concatenate 2 images vertically
- wolfhece.lazviewer.laz_viewer.get_Orthos_Walonmap(bounds, fn, cat='IMAGERIE/ORTHO_2012_2013', size=3000)[source]
Récupération des orthos depuis Walonmap fn = filename sans extension –> .png sera ajouté automatiquement
- catégories possibles :
‘IMAGERIE/ORTHO_2012_2013’
‘IMAGERIE/ORTHO_2015’
‘IMAGERIE/ORTHO_2021’
‘IMAGERIE/ORTHO_2006_2007’
- wolfhece.lazviewer.laz_viewer.get_colors(las: laspy.LasData, which_colors: Colors_Lazviewer, imsize=2000, fname='', palette_classif: Classification_LAZ = None)[source]
- wolfhece.lazviewer.laz_viewer.myviewer(las: numpy.ndarray | list[laspy.LasData] | laspy.LasData, which_colors: Colors_Lazviewer, fname='', palette_classif: Classification_LAZ = None)[source]
Get viewer for las data