Point Cloud Data

The point cloud is in LAS format, a popular format for the AEC community. Instructions for using laspy (a Python Package) to load data:
 1. Detailed instructions can be fount in https://laspy.readthedocs.io/en/latest/;
 2. Demo Code:

from laspy.file import File
import numpy as np

inFile = File('/path/to/file.las', mode='r')
scale_x, scale_y, scale_z = inFile.header.scale

#load coordinates
X, Y, Z = inFile.X * scale_x, inFile.Y * scale_y, inFile.Z * scale_z
coord = np.stack([X, Y, Z], axis = -1).astype(np.float32)

#load color
R, G, B = inFile.red, inFile.green, inFile.blue
rgb = np.stack([R, G, B], axis = -1).astype(np.float32)

Floorplan Data Format
The floorplan is available in both a binary obj format and a plain text JSON format. For the OBJ format, The header contains following information:
 1. number of layer (unsigned int)
 2. number of structures for each layer (unsigned int array)
Followed by information for layer 1:
 1. length of layer name (unsigned int)
 2. layer name (bytes array)
 3. information for layer 1/structure 1:
  a. number of points for structure (unsigned int)
  b. pt1.X, pt1.Y, pt2.X, pt2.Y, ... (float in meters)
 4. information for layer 1/structure 2:
 ...
Followed by information for layer 2:
...

The detailed file format is provided here:
[number of layers][number of structures for each layer]
[length of layer 1's name][layer 1 name]
[number of points for structure 1][pt1.X][pt1.Y][pt2.X][pt2.Y]...
[number of points for structure 2][pt1.X][pt1.Y][pt2.X][pt2.Y]...
...
[length of layer 2's name][layer 2 name]
[number of points for structure 1][pt1.X][pt1.Y][pt2.X][pt2.Y]...
[number of points for structure 2][pt1.X][pt1.Y][pt2.X][pt2.Y]...
...

A sample obj file is given below (it should be in binary practically):
2 32 15
6 "A_WALL"
2 320.12 442.55 320.12 445.55
2 322.12 447.55 322.12 449.55
...
6 "A_DOOR"
4 178.12 336.55 225.12 482.55 389.12 557.55 175.12 882.55
2 389.12 557.55 175.12 882.55

=============== JSON File Format ===============
JSON file provides following information:
1. number of layers
2. number of structures in each layer
3. layer details
 - layer name
 - number of points
 - x y coordinates for each point