diff --git a/opendm/dem/ground_rectification/io/las_io.py b/opendm/dem/ground_rectification/io/las_io.py index c79a3898..91a7d362 100755 --- a/opendm/dem/ground_rectification/io/las_io.py +++ b/opendm/dem/ground_rectification/io/las_io.py @@ -23,7 +23,9 @@ def read_cloud(point_cloud_path): blue = arrays["Blue"] cloud = PointCloud.with_dimensions(x, y, z, classification, red, green, blue) - cloud.add_dimension(UserDataDimension(), arrays["UserData"]) + + if "UserData" in arrays.dtype.names: + cloud.add_dimension(UserDataDimension(), arrays["UserData"]) return pipeline.metadata["metadata"]["readers.las"], cloud @@ -65,7 +67,9 @@ def write_cloud(metadata, point_cloud, output_point_cloud_path): arrays['Red'] = red.astype(np.uint8).ravel() arrays['Green'] = green.astype(np.uint8).ravel() arrays['Blue'] = blue.astype(np.uint8).ravel() - arrays['UserData'] = point_cloud.extra_dimensions["UserData"].ravel() + + if "UserData" in point_cloud.extra_dimensions: + arrays['UserData'] = point_cloud.extra_dimensions["UserData"].ravel() writer_pipeline = { "pipeline": [