我有一组点(x和y),希望知道X和Y的最大值和最小值(即边界框)。我编写了以下代码,使用列表推导式读取所有点,然后在X和Y上使用max和min函数。最后我删除了这些点。
这种解决方案不够内存高效,因为我需要读取所有点。
这种解决方案不够内存高效,因为我需要读取所有点。
points = [(p.x,p.y) for p in lasfile.File(inFile,None,'r')] # read in list comprehension
X_Max = max(zip(*points)[0])
X_Min = min(zip(*points)[0])
Y_Max = max(zip(*points)[1])
Y_Min = min(zip(*points)[1])
del points
我想请你提供一个建议,以避免这一步骤(将所有点存储在内存中)。 谢谢 Gianni
File
类提供了生成器(假设OP使用libLAS,我认为他确实使用了)。 - sloth