【发布时间】:2017-07-02 15:26:35
【问题描述】:
我有一个 3D-LiDAR pointcoud 代表一棵树,它使用 laspy 包加载到 python 中。它现在存储为一个 numpy 数组。我的目的是通过找到具有最高 z 值的点来计算树的高度,并计算到其下方最低 z 值的距离。 所以我通过以下方式导入数据:
inFile = laspy.file.File("~/DATA/tree.las", mode='r')
point_records = inFile.points
目前,我通过以下方式计算高度:
min = inFile.header.min
max = inFile.header.max
zdist = max[2] -min[2]
问题是这样,我没有考虑地形的坡度。如何索引恰好低于最高点的点?
【问题讨论】:
-
只用两点之间的欧式距离?
-
这就是我想做的,但我很难找到这些点。我更新了问题。
-
所以,基本上这不是一个 numpy 问题,而是一个问题,你的数据是什么样子的。你能解释一下格式吗?
-
还有:“下面”是什么意思?垂直于世界坐标还是沿最高点下平面的表面法线?
-
数据存储为一个 numpy 数组,三列分别代表经度、纬度和海拔米 (xyz)。下面我的意思是最低 z 点与最高 z 点具有相同的 long/lat 值,以确保我只计算树的实际高度。