{
	"description": "Parameters used for georeferencing of the point cloud",
	"type": "object",
	"$schema": "http://json-schema.org/draft-04/schema#",
	"properties": {
		"trajectory_file": {
			"type": "object",
			"description": "Trajectory data used for georeferencing of the point cloud",
			"properties": {
				"file_extension": {
					"description": "Trajectory file extension, without the leading dot",
					"type": "string"
				},
				"file_uuid": {
					"description": "File's Universally Unique Identifier (RFC 4122)",
					"type": "string"
				}
			},
			"required": [
				"file_extension"
			]
		},
		"socs_to_body_matrix": {
			"type": "array",
			"description": "Coordinate Transformation Matrix to transform from Scanner's Own Coordinate System to Body Coordinate System. 4x4 matrix stored as two dimensional array, row major order.",
			"minItems": 4,
			"items": {
				"description": "rows",
				"type": "array",
				"minItems": 4,
				"items": {
					"description": "columns",
					"type": "number"
				},
				"maxItems": 4
			},
			"maxItems": 4
		},
		"socs_to_rocs_matrix": {
			"type": "array",
			"description": "Coordinate Transformation Matrix to transform from Scanner's Own Coordinate System to Record Coordinate System. 4x4 matrix stored as two dimensional array, row major order.",
			"minItems": 4,
			"items": {
				"description": "rows",
				"type": "array",
				"minItems": 4,
				"items": {
					"description": "columns",
					"type": "number"
				},
				"maxItems": 4
			},
			"maxItems": 4
		},
		"body_coordinate_system_type": {
			"type": "string",
			"description": "BODY coordinate frame (NED: North-East-Down, ENU: East-North-Up), default: NED",
			"enum": [
				"NED",
				"ENU"
			]
		},
		"trajectory_offsets": {
			"type": "object",
			"description": "Correction offsets applied to the trajectory data",
			"properties": {
				"offset_north": {
					"type": "number",
					"description": "[m]"
				},
				"offset_roll": {
					"type": "number",
					"description": "[deg]"
				},
				"offset_pitch": {
					"type": "number",
					"description": "[deg]"
				},
				"offset_height": {
					"type": "number",
					"description": "[m]"
				},
				"offset_time": {
					"type": "number",
					"description": "[s]"
				},
				"offset_east": {
					"type": "number",
					"description": "[m]"
				},
				"version": {
					"type": "integer",
					"description": "Meaning of offset values and how to apply them; version 0: Rz(yaw+offset_yaw)*Ry(pitch+offset_pitch)*Rx(roll+offset_roll), version 1: Rz(yaw)*Ry(pitch)*Rx(roll) * Rz(offset_yaw)*Ry(offset_pitch)*Rx(offset_roll)"
				},
				"offset_yaw": {
					"type": "number",
					"description": "[deg]"
				}
			}
		}
	},
	"title": "Georeferencing Parameters"
}