py3dtiles.tilers.point.point_tiler module

class py3dtiles.tilers.point.point_tiler.PointTiler(out_folder: Path, files: list[str | Path] | str | Path, crs_in: CRS | None, force_crs_in: bool, pyproj_always_xy: bool, rgb: bool, classification: bool, intensity: bool, color_scale: float | None, cache_size: int, verbosity: int)[source]

Bases: Tiler[PointSharedMetadata, PointTilerWorker]

benchmark(benchmark_id: str, startup: float) None[source]

Prints benchmark info at the end of the conversion of this tiler and the writing of the tileset.

dispatch_processed_nodes(content: dict[str, bytes]) None[source]
files_info: dict[str, Any]
get_files_info(crs_in: CRS | None, force_crs_in: bool = False) dict[str, Any][source]
get_root_aabb(original_aabb: ndarray[Any, dtype[float64]]) tuple[ndarray[Any, dtype[float64]], ndarray[Any, dtype[float32]], float][source]
get_rotation_matrix(crs_out: CRS | None, transformer: Transformer | None) tuple[ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]]][source]
get_tasks(startup: float) Generator[tuple[bytes, list[bytes]], None, None][source]

Yields tasks to be sent to workers.

This methods will get called by the main convert function each time it wants new tasks to be fed to workers. Implementors should each time returns the task that has the biggest priority.

get_transformer(crs_out: CRS | None, always_xy: bool = False) Transformer | None[source]
get_worker() PointTilerWorker[source]

Returns an instantiated tiler worker.

initialization(crs_out: CRS | None, working_dir: Path, number_of_jobs: int) None[source]

The __init__ method must only set attributes without any action. It is in this method that this work must be done (and the initialization of shared_metadata).

The method will be called before all others.

memory_control() None[source]

Method called at the end of each loop of the convert method. Checks if there is no too much memory used by the tiler and do actions in function

name = b'points'
node_store: SharedNodeStore
print_debug(now: float, number_of_jobs: int, number_of_idle_clients: int) None[source]

Prints info about the progression of the conversion. Called everytime a tiler worker task is finished.

print_summary() None[source]

Prints the summary of the tiler before the start of the conversion.

process_message(return_type: bytes, result: list[bytes]) bool[source]

Updates the state of the tiler in function of the return type and the returned data

root_aabb: ndarray[Any, dtype[float64]]
root_scale: ndarray[Any, dtype[float32]]
root_spacing: float
send_file_to_read() tuple[bytes, list[bytes]][source]
send_pnts_to_write() tuple[bytes, list[bytes]][source]
send_points_to_process(now: float) Generator[tuple[bytes, list[bytes]], None, None][source]
state: PointState
transformer: Transformer | None
validate_binary_data() None[source]

Checks if the state of the tiler or the binary data written is correct. This method is called after the end of the conversion of this tiler (but before write_tileset)

write_tileset(use_process_pool: bool = True) None[source]

Writes the tileset file once the binary data written

py3dtiles.tilers.point.point_tiler.can_pnts_be_written(node_name: bytes, finished_node: bytes, input_nodes: list[bytes] | dict[bytes, Any], active_nodes: list[bytes] | dict[bytes, Any]) bool[source]
py3dtiles.tilers.point.point_tiler.is_ancestor(node_name: bytes, ancestor: bytes) bool[source]

Example, the tile 22 is ancestor of 22458 Particular case, the tile 22 is ancestor of 22

py3dtiles.tilers.point.point_tiler.is_ancestor_in_list(node_name: bytes, ancestors: list[bytes] | dict[bytes, Any]) bool[source]