Reconstruct3D - 3D Reconstruction
Overview
The Reconstruct3D interface is used to generate 2D and 3D models from aerotriangulation results. It is typically used together with ReconstructAT to complete the full reconstruction workflow. This interface supports multiple output formats, tile processing, and fine parameter control.
Applicable Scenarios
- Generate 3D models from aerotriangulation results
- Generate orthophotos and digital surface models
- Tile reconstruction for large-scale data
- Need specific output formats
Interface Invocation
Command Line Invocation
reconstruct_full_engine(.exe) --reconstruct_type 2 --task_json config_task.json
Parameter Description
reconstruct_type: Fixed as2(represents Reconstruct3D)task_json: Configuration file path
Configuration Parameters
Required Parameters
| Parameter Name | Type | Description |
|---|---|---|
working_dir | string | Working directory (must be the same as specified by the aerotriangulation interface) |
gdal_folder | string | GDAL data path |
Optional Parameters
Basic Parameters
| Parameter Name | Type | Default Value | Description |
|---|---|---|---|
input_image_type | int | 0 | Image type: 1=RGB, 2=Multispectral, 3=Infrared |
resolution_level | int | 1 | Reconstruction accuracy: 1=High, 2=Medium, 3=Low |
pipeline_mode | int | 0 | Reconstruction pipeline: 0=Pure visual reconstruction, 1=Pure lidar point cloud reconstruction |
reconstruct_mode | int | 0 | Reconstruction mode: 0=General scene, 2=Power line scene |
coordinate_system_3d | JSON | - | Output 3D result coordinate system, format see coordinate_system |
coordinate_system_2d | JSON | - | Output 2D result coordinate system |
min_avali_memory_size | double | 0 | Minimum available memory (GB), used to control tile count |
fast_mode | bool | false | Fast mode, improves efficiency but reduces detail |
keep_undistort_images | bool | false | Whether to keep undistorted images |
Output Format Control [Must specify one of the following]
| Parameter Name | Type | Default Value | Description |
|---|---|---|---|
generate_osgb | bool | false | Generate OSGB format 3D model |
generate_3d_tiles | bool | false | Generate 3D Tiles (b3dm) format |
generate_las | bool | false | Generate LAS format point cloud |
generate_pc_ply | bool | false | Generate PLY format point cloud |
generate_pc_osgb | bool | false | Generate OSGB format point cloud LOD |
generate_pc_pnts | bool | false | Generate pnts format point cloud LOD |
generate_gs_ply | bool | false | Generate ply format Gaussian Splatting results |
generate_obj | bool | false | Generate OBJ format textured mesh |
generate_ply | bool | false | Generate PLY format textured mesh |
generate_geotiff | bool | false | Generate GeoTIFF format orthophoto |
generate_tile_2D | bool | false | Tile the orthophoto |
generate_2D_from_3D_model | bool | false | Generate 2D orthophoto from 3D model |
Advanced Parameters
| Parameter Name | Type | Default Value | Description |
|---|---|---|---|
use_draco_compression | bool | true | Whether to enable Draco vertex compression for 3D Tiles |
tex_image_type_3dtiles | int | 0 | 3D Tiles texture format: 0=JPEG, 1=WebP |
use_gcj02 | bool | false | Whether to convert orthophoto tiles to GCJ02 coordinate system |
ROI Control
| Parameter Name | Type | Default Value | Description |
|---|---|---|---|
roi_for_2d | JSON | - | Region of interest for 2D reconstruction, format see ROI Structure Description |
roi_for_3d | JSON | - | Region of interest for 3D reconstruction |
roi_coordinate_system | JSON | WGS84 | Coordinate system of ROI |
ROI Structure Description
| Field Name | Type | Description |
|---|---|---|
boundary | array | 2D boundary vertex set of ROI polygon |
min_z | double | ROI minimum elevation |
max_z | double | ROI maximum elevation |
Example:
{
"boundary": [ // 2D polygon boundary (counterclockwise)
[x1, y1],
[x2, y2],
[x3, y3]
// ...
],
"min_z": 100.0, // Minimum elevation
"max_z": 500.0 // Maximum elevation
}
Complete Configuration Examples
Basic 3D Reconstruction
{
"working_dir": "C:/Projects/3D_Task",
"gdal_folder": "C:/MipMap/SDK/data",
"input_image_type": 1,
"resolution_level": 1,
"generate_osgb": true,
"generate_3d_tiles": true,
"generate_geotiff": true
}
Specify Output Result Coordinate System
{
"working_dir": "C:/Projects/3D_Task",
"gdal_folder": "C:/MipMap/SDK/data",
"input_image_type": 1,
"resolution_level": 1,
"generate_osgb": true,
"generate_3d_tiles": true,
"generate_geotiff": true,
"coordinate_system_3d": {
"type": 3,
"epsg_code": 32650 // WGS84 / UTM 50N
},
"coordinate_system_2d": {
"type": 3,
"epsg_code": 32650 // WGS84 / UTM 50N
}
}
Set Reconstruction ROI
{
"working_dir": "C:/Projects/3D_Task",
"gdal_folder": "C:/MipMap/SDK/data",
"input_image_type": 1,
"resolution_level": 1,
"roi_for_3d": {
"boundary": [
[114.12, 22.12],
[114.13, 22.12],
[114.13, 22.13],
[114.12, 22.13]
],
"min_z": 0,
"max_z": 500
},
"generate_osgb": true,
"generate_3d_tiles": true,
"generate_geotiff": true,
"coordinate_system_3d": {
"type": 3,
"epsg_code": 32650 // WGS84 / UTM 50N
},
"coordinate_system_2d": {
"type": 3,
"epsg_code": 32650 // WGS84 / UTM 50N
}
}
Output Results
3D Model Output (/3D/)
model-osgb/- OSGB format model and LODmodel-b3dm/- 3D Tiles format (including tileset.json)model-obj/- OBJ format model and texturespoint-las/- LAS format point cloudpoint-ply/- PLY format point cloudpoint-osgb/- OSGB format point cloud LODpoint-pnts/- 3D Tiles point cloud formatpoint-gs-ply/- 3DGS-PLY point cloud format
2D Product Output (/2D/)
geotiffs/- GeoTIFF format orthophoto and DSMdom_tiles/- Orthophoto tilesdsm_tiles/- Digital surface model tiles
Resolution Level Description
| Level | Description | Relative Processing Time | Applicable Scenarios |
|---|---|---|---|
| 1 | Ultra-high precision | 3-5x | Professional surveying, cultural heritage protection |
| 2 | High precision | 1x | General engineering applications |
| 3 | Quick preview | 0.2-0.3x | Quick verification, preview |
Error Handling
The interface returns an integer error code:
0: SuccessNon-zero: Various error conditions
For details, see Error Codes.
Common Questions
Q: Prompt "Cannot find aerotriangulation results"
A: Ensure:
working_diris the same as used by ReconstructAT- Aerotriangulation has completed successfully
- milestones directory contains mvs.pb.bin file
Q: Insufficient memory error
A:
- Set
min_avali_memory_sizeto limit memory usage - Lower
resolution_level - Use DivideTiles for pre-tiling
Q: Incorrect output coordinates
A:
- Check
coordinate_system_3d/2dsettings - Confirm ROI coordinate system matches data
- Verify GDAL data path is correct
Next Steps
- Learn about tile processing for large-scale data
- Study basic concepts to optimize reconstruction quality
Tip: Reconstruct3D provides rich output options. It is recommended to quickly verify with low precision first, then perform high-quality reconstruction.