Overview NIPOConverter.exe is a command-line tool for converting various point cloud formats (LAS, LAZ, PTX, PLY, XYZ, and Nested, Indexed, Priority Octree (NIPO) data) into LPLAS pyramid hierarchies. LPLAS files are optimized for efficient spatial indexing, visualization, and analysis of large-scale point cloud datasets.
Basic Syntax nipoconverter.exe -i <input_file> -o <output_directory> [options]
Or using a batch list of files:
nipoconverter.exe --list-of-files <file_list.txt> -o <output_directory> [options]
Required Arguments Argument Short Description Example -i / --source-iInput file path (LAS, LAZ, PTX, PLY, XYZ, or NIPO format) -i "C:\data\input.las"--list-of-filesN/A Text file containing a list of input files (one per line) --list-of-files "files.txt"-o / --outdir-oOutput directory for LPLAS pyramid hierarchy -o "C:\data\output"
Note: Either --source or --list-of-files must be specified (not both).
Optional Arguments Output Format & Attributes Argument Description Values Default --output-formatOutput format BINARY, LAS, LAZBINARY-a / --output-attributesPoint attributes to include RGB, INTENSITY, CLASSIFICATION (comma-separated)RGB--scaleLAS/LAZ coordinate scale (X, Y, Z) Float values Auto-computed --aabbBounding box override "minX minY minZ maxX maxY maxZ"Auto-computed
Pyramid Structure Argument Description Values Default -s / --spacingPoint spacing at root level (halves per level) Float (meters) Auto-computed -d / --spacing-by-diagonal-fractionPoints on diagonal at first level Integer N/A -l / --levelsNumber of pyramid levels 0-N (0=root only) 5--vpmaxMaximum points per voxel ≥ 1 1--e0Voxels per node side (power of 2) 512, 1024, 2048, etc. 1024--nptsizeVoxels per page table side (power of 2) Must be << e0 64
Sampling & Processing Argument Description Values -m / --methodSampling method random, poisson, centercell--pointselectionmethodPoint selection strategy CENTERCELL, ZPREFERENCE_LOW, ZPREFERENCE_MIDDLE, ZPREFERENCE_HIGH--terminationstrategyNode division termination OTS_LMIN, OTS_ZMIN, OTS_MAXDEPTH--terminationthresholdThreshold for LMIN/ZMIN strategies Integer (required if using LMIN/ZMIN) --chunkMethodChunking method LASZIP--flushingsizeIn-memory points before flushing ≥ 1
Processing Modes Argument Description --process-by-fileCreate one LPLAS per input file --incrementalAdd new points to existing conversion --overwriteReplace existing conversion at target directory --source-listing-onlyCreate sources.json without octree --keep-chunksPreserve temporary chunk files --no-chunkingSkip chunking phase --no-indexingSkip indexing phase
Input Format & Projection Argument Description Example -f / --input-formatFormat specification xyz (cartesian), rgb (colors), i (intensity)--projectionProjection in PROJ4 format "+proj=utm +zone=18 +datum=WGS84"--color-rangeColor range specification 0 255--intensity-rangeIntensity range specification 0 65535--reset-offsetReset coordinate offsets N/A
Web Page Generation Argument Description -p / --generate-pageGenerate html viewer page (specify page name) --page-templateCustom web page template directory --titlePage HTML title --descriptionDescription shown in viewer --materialDefault coloring material: RGB, ELEVATION, INTENSITY, INTENSITY_GRADIENT, CLASSIFICATION, RETURN_NUMBER, SOURCE, LEVEL_OF_DETAIL --edl-enabledEnable Eye-Dome-Lighting for visualization --show-skyboxDisplay skybox in viewer
Classification & Priority Argument Description Example --priorityclassesPriority classification list 2 6 9 (space-delimited integers)--output-attributesInclude classification in output See format table above
Logging & Notifications Argument Description --create-logGenerate detailed log file --create-json-summaryGenerate JSON summary report --logZeroPointsTest and log zero-point conditions --notifyEmailEmail address for completion notification
Advanced Options Argument Description -ri / --random-insertionRandomly insert points via tiling --outfileSpecific output filename (if single file mode) --encodingCompression encoding (BROTLI, UNCOMPRESSED)
Usage Examples Example 1: Basic LAS to LPLAS Conversion nipoconverter.exe -i "C:\data\scan.las" -o "C:\output\scan_pyramid"Example 2: Batch Processing with File List nipoconverter.exe --list-of-files "C:\data\filelist.txt" -o "C:\output"filelist.txt content:
scan1.las
scan2.las
scan3.lasExample 3: Convert to LAS with RGB Attributes nipoconverter.exe -i "input.las" -o "output" --output-format LAS -a RGBExample 4: Fine-Tune Pyramid Structure nipoconverter.exe -i "input.las" -o "output" -l 7 -s 0.5 --vpmax 5 --e0 512Example 5: Generate Interactive Web Viewer nipoconverter.exe -i "input.las" -o "output" -p "MyPointCloud" --material ELEVATION --edl-enabledExample 6: Process Multiple Files Individually nipoconverter.exe --list-of-files "files.txt" -o "C:\output" --process-by-fileExample 7: Incremental Update (Add Points) nipoconverter.exe -i "newdata.las" -o "existing_pyramid" --incrementalExample 8: High-Resolution Pyramid nipoconverter.exe -i "input.las" -o "output" --spacing 0.1 --levels 8 --e0 2048Output Structure When conversion completes, the output directory contains:
output/
├── octree.bin # Spatial index (if BINARY format)
├── hierarchy.bin # Hierarchy metadata (if BINARY format)
├── sources.json # Source file information
├── output.las / output.laz # Final LAS/LAZ file (if LAS/LAZ format)
├── log.txt # Processing log (if --create-log)
├── LPLASConvertlog.txt # Email notification log (if --notifyEmail)
└── pointclouds/ # Web viewer files (if -p/--generate-page)
├── index.html
├── css/
├── js/
└── ...Common Scenarios Scenario 1: High-Volume LiDAR Processing Process large aerial LiDAR dataset with efficient spacing
nipoconverter.exe --list-of-files "lidar_files.txt" -o "C:\LiDAR_Pyramid" `
--spacing 0.25 --levels 6 --e0 1024 --process-by-file --create-logScenario 2: Real-Time Monitoring with Incremental Updates First conversion (initial)
nipoconverter.exe -i "initial_scan.las" -o "monitoring_pyramid"Later, add new data
nipoconverter.exe -i "new_scan.las" -o "monitoring_pyramid" --incrementalScenario 3: Web-Based Visualization Convert and generate interactive map
nipoconverter.exe -i "terrain.las" -o "web_output" `
-p "TerrainViewer" --title "Mountain Survey" --material ELEVATION `
--description "High-resolution terrain model" --edl-enabledScenario 4: Classified Point Cloud (e.g., Vegetation) Preserve classification data with priority classes
nipoconverter.exe -i "classified.las" -o "forest_pyramid" `
--output-format LAS -a "RGB,CLASSIFICATION" `
--priorityclasses "4 5" --material CLASSIFICATIONTroubleshooting Issue Solution "file not found" error Verify input file path is absolute or relative path exists Out of memory errors Reduce --flushingsize or process fewer files at once Projection issues Explicitly provide --projection in PROJ4 format Zero points in output Use --logZeroPoints to diagnose; check bounding box with --aabb Mismatched coordinates Use --reset-offset to align coordinate systems Web viewer not opening Ensure --generate-page name contains valid characters
Performance Tips For large datasets: Increase --flushingsize (e.g., 1000000) to reduce disk I/OFor fast visualization: Use lower levels (-l 4 or 5) to reduce processing timeFor precision: Use --spacing 0.1 or lower with higher levels for detailFor batch processing: Use --list-of-files and --process-by-file for parallel operationsFor web delivery: Use LAZ format with --output-format LAZ to reduce file sizeExit Codes Code Meaning 0Successful conversion 1General error (check console output or log file) 2Invalid arguments 3File not found or I/O error
Getting Help Display full option list:
nipoconverter.exe -h
nipoconverter.exe --help
Version: Compatible with LP360 point cloud processing frameworkPlatform: Windows (x86-64)Related Tools: LP360, LPLAS pyramid viewer
Comments
0 comments
Please sign in to leave a comment.