Skip to main content

Lidar Data Requirements

By organizing LiDAR data into a single JSON file, you can quickly import all required reconstruction data into MipMap Desktop with one click, or pass it to the MipMap SDK for fully automatic textured model and Gaussian splatting reconstruction.

Required data includes:

  • Point Cloud Data: Usually point cloud data in LAS format, with timestamps recorded in the gps_time field at acquisition time
  • Image Data: Image collection, including ID, path, timestamp, position and attitude angle data
  • Camera Parameters: Camera focal length, principal point internal parameters, and distortion parameters

LIDAR Reconstruction Parameters

Parameter NameTypeRequiredDescription
coordinate_systemJSONYesCoordinate system of image POS, see coordinate_system for details
camera_meta_dataJSONYesCamera parameters, see camera_meta_data for details
image_meta_dataJSONYesImage collection, see image_meta_data for details
lidar_dataJSONYesLidar data, see lidar_data for details

coordinate_system Object

Field NameTypeDescriptionExample Value
typeintCoordinate system type: 0=LocalENU, 1=Local, 2=Geographic, 3=Projected, 4=ECEF2
type_namestringCoordinate system type name (optional, auxiliary description)"Geographic"
labelstringCoordinate system name (optional)"WGS 84"
epsg_codeintEPSG code (required for geographic/projected/geocentric coordinate systems)4326
wktstringWKT string (optional, alternative to epsg_code)"..."
origin_pointarray[3]Origin WGS84 coordinates [longitude, latitude, elevation] (required only when type=0 LocalENU)[114.12, 22.12, 0]
offsetarray[3]Coordinate system origin offset (optional)[0, 0, 0]

Below are the most common WGS84 and CGCS2000 coordinate systems:

{
"type": 2, // 0=LocalENU, 1=Local, 2=Geographic, 3=Projected
"type_name": "Geographic",
"label": "WGS 84", // Coordinate system name
"epsg_code": 4326 // EPSG code
}
{
"type": 3, // 0=LocalENU, 1=Local, 2=Geographic, 3=Projected
"type_name": "Projected",
"label": "WGS 84 / UTM zone 50N", // Coordinate system name
"epsg_code": 32650 // EPSG code
}
{
"type": 2, // 0=LocalENU, 1=Local, 2=Geographic, 3=Projected
"type_name": "Geographic",
"label": "CGCS2000", // Coordinate system name
"epsg_code": 4490 // EPSG code
}
{
"type": 2, // 0=LocalENU, 1=Local, 2=Geographic, 3=Projected
"type_name": "Projected",
"label": "CGCS2000 / 3-degree Gauss-Kruger CM 114E", // Coordinate system name
"epsg_code": 4547 // EPSG code
}

camera_meta_data Object

Field NameTypeRequiredDescription
idintYesCamera unique ID
meta_dataobjectYesCamera metadata, see table below

meta_data sub-field description:

Field NameTypeRequiredDescription
projection_modelintYesLens model: 0-perspective lens (k1,k2,k3,p1,p2); 1-fisheye lens (k1,k2,k3,k4)
camera_namestringYesCamera name
widthintYesSensor width (pixels)
heightintYesSensor height (pixels)
parametersarrayYesCamera internal parameter group (perspective camera order: fx, fy, cx, cy, k1, k2, k3, p1, p2; fisheye camera order: fx fy cx cy k1 k2 k3 k4)
constant_parametersarrayNoArray of parameter indices to fix camera internal parameters during AT solution, specified according to the parameter order in parameters (index starts from 0), e.g., for perspective camera, specifying [0,1,2,3,4,5,6,7,8] means fixing all parameters
Perspective lens
"camera_meta_data": [
{
"id": 1,
"meta_data": {
"projection_model": 0, // Perspective camera
"camera_name": "common",
"width": 5280,
"height": 3956,
"parameters": [
3713.29, // fx
3713.29, // fy
2647.02, // cx
1969.28, // cy
-0.11257524, // k1
0.01487443, // k2
-0.00008572, // k3
1e-7, // p1
-0.02706411 // p2
]
}
}
]
Fisheye lens
"camera_meta_data": [
{
"id": 1,
"meta_data": {
"camera_name": "fisheye", // Fisheye camera
"projection_model": 1,
"width": 3600,
"height": 3600,
"parameters": [
982.7593599212141, // fx
982.7593599212141, // fy
1747.6373897301492, // cx
1806.4116030074354, // cy
0.03702410479839055, // k1
-0.016007338300982825, // k2
-1.0884582901480562e-05, // k3
-9.773097281093723e-05 // k4
]
}
}
]

image_meta_data Object

Field NameTypeRequiredDescription
idintYesImage unique ID
pathstringYesImage absolute path
meta_dataobjectYesImage metadata, see table below

meta_data sub-field description:

Field NameTypeRequiredDescription
widthintYesImage width (pixels)
heightintYesImage height (pixels)
camera_idintYesCorresponding camera ID
timestampdoubleYesTimestamp of image acquisition time; must match the time recorded in the gps_time field of the LAS point cloud. When this attribute is set, trajectory data is not required
posarray[3]YesPOS position [longitude/X, latitude/Y, elevation/Z]
pos_sigmaarray[3]YesPOS position accuracy: centimeter-level RTK [0.03,0.03,0.06]; decimeter-to-meter level [0.5,0.5,1]; meter level and above [2.0,2.0,5.0]. LIDAR data recommends centimeter-level accuracy
orientationarray[9]No3x3 rotation matrix (9 values, row-major, unit vectors, world to camera). Strongly recommended to specify for fisheye images
position_constantboolNoWhether to fix position (true/false); fixed position means AT will not optimize or change image position, keeping input values

lidar_data Data

Field NameTypeDescription
coordinate_systemJSONCoordinate system definition for lidar data
laser_meta_dataarrayList of lidar point cloud file metadata

laser_meta_data Sub-fields

Field NameTypeDescription
idintLAS point cloud data ID
pathstringLAS point cloud file path (supports LAS format)

Example:

{
"coordinate_system": {
"type": 2,
"epsg_code": 4326
},
"camera_meta_data": [
{
"id": 1,
"meta_data": {
"camera_name": "Left",
"projection_model": 1,
"width": 3600,
"height": 3600,
"parameters": [
982.7593599212141,
982.7593599212141,
1747.6373897301492,
1806.4116030074354,
0.03702410479839055,
-0.016007338300982825,
-1.0884582901480562e-05,
-9.773097281093723e-05
]
}
},
{
"id": 2,
"meta_data": {
"camera_name": "Right",
"projection_model": 1,
"width": 3600,
"height": 3600,
"parameters": [
982.7593599212141,
982.7593599212141,
1747.6373897301492,
1806.4116030074354,
0.03702410479839055,
-0.016007338300982825,
-1.0884582901480562e-05,
-9.773097281093723e-05
]
}
}
],
"image_meta_data":[
{
"id": 1,
"path": "\\left\\2390-195042-472_00395-L.JPG",
"meta_data": {
"width": 3600,
"height": 3600,
"camera_id": 1,
"timestamp": 1.0000,
"pos": [
-2272303.077314121,
5011055.355739306,
3215292.943560472
],
"pos_sigma": [0.03,0.03,0.06],
"orientation": [
0.8929275412022056,
0.43070972182403255,
0.13103259781004117,
-0.4500241512548592,
0.8457917052937085,
0.2865565468519331,
0.012596406230632032,
-0.31484206641207435,
0.9490604847782084
]
}
},
{
"id": 2,
"path": "\\right\\2390-195042-472_00395-R.JPG",
"meta_data": {
"width": 3600,
"height": 3600,
"camera_id": 2,
"timestamp": 2.0000,
"pos": [
-2272303.117693735,
5011055.368901664,
3215292.967908075
],
"pos_sigma": [0.03,0.03,0.06],
"orientation": [
0.8918935649712837,
0.435497387453275,
0.12193397510204676,
-0.4504120798442928,
0.8311302214603127,
0.3261157973874772,
0.040679566039387514,
-0.34578111645476495,
0.9374329802231962
]
}
}
],
"lidar_data": {
"coordinate_system": {
"type": 3,
"epsg_code": 32632
},
"laser_meta_data": [ // Lidar point cloud file list
{
"id": 1, // File ID
"path": "C:/path/to/file1.las" // Point cloud file path
},
{
"id": 2, // File ID
"path": "C:/path/to/file2.las" // Point cloud file path
}
]
}
}