0

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

4

1 に答える 1