Я пытаюсь найти точки в файле LAS (формат Lidar):
Сейчас я делаю это очень медленно:
from laspy.file import File
import numpy as np
inFile = File('inputfile.las', mode='r')
coord = np.vstack((inFile.x, inFile.y, inFile.z)).transpose()
def find_pt(coord, x, y, z):
found = []
for i in coord:
if(i[0] >= x and i[0] < x+1):
if(i[1] >= y and i[1] < y+1):
if(i[2] >= z and i[2] < z+1):
found.append(i)
return found
Тогда я называю это:
find_pt(coord, 358397, 5280527, 550)
Что, конечно, занимает некоторое время, особенно когда в файле много точек.
Есть ли лучший / более быстрый способ? coords
относится к типу numpy.ndarray