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