A tool for converting point cloud data (las/laz and csv) into "3D Tiles v1.1".
Enter the following command.
curl -sSf https://raw.githubusercontent.com/MIERUNE/point-tiler/main/install.sh | bash
Currently, it is not available on Windows.
However, if Rust is installed and Cargo is available, it is possible to run it using the cargo
command.
Rust must be installed. You can easily install it from the following page.
After installing Rust, download this repository.
input
: Specify the.las/.laz/.csv/.txt
file. Multiple files can be input separated by spaces.output
: Specify the output folder. Outputtileset.json
and glb.epsg
: Input the epsg code of the las file. All point clouds are recognized as being in the same coordinate system.(Currently, only the Japanese plane rectangular coordinate system is supported.)min
: Specify the minimum zoom level you want to output.max
: Specify the maximum zoom level you want to output.max-memory-mb
: Specify the number of MB of memory available for conversion.--gzip-compress
: The output 3D Tiles are compressed using gzip. The file extension dose not change.
In the repository root, the following commands can be executed.
point_tiler --input app/examples/data/sample.las \
--output app/examples/data/output \
--epsg 6677 \
--min 15 \
--max 18 \
--max-memory-mb 8192 \
--gzip-compress
It supports .csv and .txt file extensions.
In CSV format, any columns other than XYZRGB will be ignored. Also, the column names must be “x”, “y”, “z” and “r”, “g”, “b” or “red”, “green”, “blue”. (The case of the letters does not matter.)
For example, the following data is valid.
“X“,”Y“,”Z“,”Intensity“,”ReturnNumber“,”NumberOfReturns“,”ScanDirectionFlag“,”EdgeOfFlightLine“,”Classification“,”Synthetic“,”KeyPoint“,”Withheld“,”Overlap“,”ScanAngleRank“,”UserData“,”PointSourceId“,”GpsTime“,”Red“,”Green“,”Blue”
-5599.971,-35106.097,3.602,680.000,1.000,1.000,1.000,0.000,1.000,0.000,0.00 0,0.000,0.000,-4.000,0.000,95.000,188552.207,19532.000,20046.000,20560.000
-5599.976,-35111.458,3.440,715.000,1.000,1.000,1.000,0.000,1.000,0.000,0.00 0,0.000,0.000,-4.000,0.000,95.000,188552.287,20560.000,21074.000,21588.000
-5599.978,-35115.695,3.543,311.000,1.000,1.000,1.000,0.000,1.000,0.000,0.00 0,0.000,0.000,-4.000,0.000,95.000,188552.347,19018.000,19275.000,20303.000
-5599.992,-35119.757,3.603,722.000,1.000,1.000,1.000,0.000,1.000,0.000,0.00 0,0.000,0.000,-4.000,0.000,95.000,188552.407,18504.000,20046.000,20817.000
-5599.992,-35129.327,3.431,505.000,1.000,1.000,1.000,0.000,1.000,0.000,0.00 0,0.000,0.000,-4.000,0.000,95.000,188552.547,18504.000,19789.000,21074.000
- tiling using octree
- large-scale processing using streaming
- generation of gzip-compressed tiles
- assignment of attributes using EXT_mesh_features
- compression using meshopt
- increasing the number of supported coordinate systems
- Satoru Nishio (@nokonoko1203)
- And all contributors
This project incorporates and modifies source code from the following third-party projects:
- PLATEAU GIS Converter
- Repository: PLATEAU GIS Converter
- Original License: MIT License
We have made the following modifications to the source code from PLATEAU GIS Converter:
- nusamai-projection is imported as projection-transform.
- nusamai-gltf is included as cesiumtiles-gltf.
- nusamai/src/transformer/transform/projection.rs is included in part of pcd-transformer
The modified code retains its original copyright and is used in accordance with the MIT License. For details, see the LICENSE file.