迭代数百个 laz 文件时,读取 laz 文件需要花费大量时间。但是只读取 header 读取数百个 las 文件只需要不到 100 毫秒的时间。
读取 laz 文件的所有属性时也会出现同样的问题。解压所有属性的时间太长了。有什么方法可以读取想要的属性吗?例如:只读X
能读得快吗?</p>
class LASLIB_DLL LASreader
{
public:
LASheader header;
LASpoint point;
I64 npoints;
I64 p_count;
//[...]
BOOL read_point() { return (this->*read_simple)(); };
//[...]
}
for (int i = 0 ; i < 1000 ; i++)
{
lasReader->read_point();
LASpoint& pointReader = lasReader->point;
double x = pointReader.get_x();
}
如果我想读取 laz 文件的任何属性,我必须解压整个 class LASreader
。这太慢了,没有意义。