0
从LiDAR数据中我已经分离了地面和非地面点与PMF。现在我想要将所有非地面点(z = 0)平坦化,但要保持距离地面以上的距离。这可以用LASground -replace_z在LASTools中完成。PCL:拼合地平面但保持距离地面
想要的结果如下图所示。
从LiDAR数据中我已经分离了地面和非地面点与PMF。现在我想要将所有非地面点(z = 0)平坦化,但要保持距离地面以上的距离。这可以用LASground -replace_z在LASTools中完成。PCL:拼合地平面但保持距离地面
想要的结果如下图所示。
基本上要“正常化”的地形Z值到地面。 您可以使用地面点创建地面模型 - 例如具有单元格的栅格 - 又名栅格 - 保存地面Z值的插值,然后将所有点减去该值。只需在您的XY边界框上构建网格;下面是一个90×100网格的示例:
int nRowCells = 100;
int nColCells = 90;
vector< vector <float> > grid;
for(int i=0; i < nRowCells; ++i)
{
std::vector<coord> row(nColCells, .0f);
grid.push_back(row);
}
然后,使用其坐标和单元格分辨率将每个地面点指定给单元格。
顺便说一下,在LasTools中,“lasheight”模块有可能实现,如果您执行一些Googleing操作,您将会了解它是如何工作的。