py3dtiles.utils module

class py3dtiles.utils.CommandType(value)[source]

Bases: Enum

An enumeration.

PROCESS_JOBS = b'process_jobs'
READ_FILE = b'read_file'
SHUTDOWN = b'shutdown'
WRITE_PNTS = b'write_pnts'
class py3dtiles.utils.OctreeMetadata(aabb, spacing, scale)[source]

Bases: NamedTuple

aabb: ndarray[Any, dtype[float64]]

Alias for field number 0

scale: float

Alias for field number 2

spacing: float

Alias for field number 1

class py3dtiles.utils.ResponseType(value)[source]

Bases: Enum

An enumeration.

ERROR = b'error'
HALTED = b'halted'
IDLE = b'idle'
NEW_TASK = b'new_task'
PNTS_WRITTEN = b'pnts_written'
PROCESSED = b'processed'
READ = b'read'
REGISTER = b'register'
class py3dtiles.utils.SubdivisionType(value)[source]

Bases: Enum

An enumeration.

OCTREE = 1
QUADTREE = 2
py3dtiles.utils.aabb_size_to_subdivision_type(size: ndarray[Any, dtype[floating[_T]]]) SubdivisionType[source]
py3dtiles.utils.compute_spacing(aabb: ndarray[Any, dtype[floating[_T]]]) float[source]
py3dtiles.utils.make_aabb_cubic(aabb: ndarray[Any, dtype[floating[_T]]]) ndarray[Any, dtype[floating[_T]]][source]
py3dtiles.utils.make_aabb_valid(aabb: list[list[float]]) None[source]

Modify inplace the aabb so that no dimension is 0-sized

py3dtiles.utils.node_from_name(name: bytes, parent_aabb: npt.NDArray[np.floating[_T]], parent_spacing: float) Node[source]
py3dtiles.utils.node_name_to_path(working_dir: Path, name: bytes, suffix: str = '', split_len: int = 8) Path[source]

Get the path of a tile from its name and the working directory. If the name is ‘222262175’ with the suffix ‘.pnts’, the result is ‘working_dir/22226217/r5.pnts’

py3dtiles.utils.profile(func: Callable[Param, RetType]) Callable[Param, RetType][source]
py3dtiles.utils.split_aabb(aabb: ndarray[Any, dtype[floating[_T]]], index: int, force_quadtree: bool = False) ndarray[Any, dtype[floating[_T]]][source]
py3dtiles.utils.str_to_CRS(srs: str | CRS | None) CRS | None[source]

Convert a string in a pyproj CRS object. The string could be an epsg code or a Proj4 string. If srs is already a CRS object, the function returns the same CRS definition.