This repository contains a Python toolkit for tiling large-scale point cloud data efficiently. It is designed to handle large LAS files by segmenting them into smaller, manageable tiles which can be processed or analyzed independently. This is particularly useful for working with massive datasets in applications like geographical information systems (GIS), 3D modeling, and large-scale environmental analysis.
- Efficient Handling of Large Files: Breaks down large LAS files into smaller tiles.
- Customizable Tiling Options: Allows users to define the size of tiles and the subsampling precision per tile.
notebooks
: Folder containing Jupyter notebooks to process step-by-stepscripts
: Folder with Python scripts (could serve as usage documentation)src/pct
: Folder for all source files specific to this projectutils
Utility functions
This code has been tested with Python >= 3.9
on MacOS
. To use this code in development mode simply clone the repository and install the dependencies.
-
Clone this repository:
git clone https://github.com/FallBosk/PointCloud_Tiling.git cd PointCloud_Tiling
-
Create the environment
my_env
and install the dependencies (can also use conda):python -m venv my_env source my_env/bin/activate python -m pip install -r requirements.txt
-
Finally (if you would like to use the subsampling feature), install
cccorelib
andpycc
into themy_env
environment by following the instructions on their GitHub page. Please note, these two packages are not available on the Python Package Index (PyPi).Note: installing these packages is known to cause issues. For help and questions please consult the issue list on the original repository. Building these packages requires Qt
There are two ways for using this repository. Option 1 is simply running the complete pipeline using the provided bash script in scripts. Option 2 is using the provide tutorial notebooks that demonstrate how the code and tools can be used.
Option 1: using command line
cd scripts
python pipeline.py --in_folder <input_directory> --out_folder <output_directory>
Option 2: using Jupyter notebooks
Check out the notebooks that demonstrate how the tools can be used.
Contributions to enhance the functionality or efficiency of this tool are welcome. Please fork the repository and submit a pull request with your changes.
We extend our gratitude to the Amsterdam AI Team for their influential work on the Urban_PointCloud_Processing repository (check it out!). Their innovative approaches to handling urban point cloud data have significantly inspired the methodologies implemented in our project. This acknowledgment serves to recognize their pivotal contributions to the field of point cloud processing, which have guided and enriched our own developments.
This project is licensed under the terms of the GPL-3.0 liscense - see the LICENSE file for details.