파이썬에서 LAS 데이터를 조작하는 방법을 배우기 시작했으며 다른 사람들이 LAS 파일을 처리하는 방법을보고 싶었습니다. 포인트를 읽고 (numpy 배열을 사용하고 있습니다) 클래스 1과 2 (분류되지 않은 접지)를 별도의 배열로 필터링하고 싶습니다. 다음 코드가 있지만 포인트를 필터링 할 수 없습니다.
# Import modules
from liblas import file
import numpy as np
if __name__=="__main__":
'''Read LAS file and create an array to hold X, Y, Z values'''
# Get file
las_file = r"E:\Testing\ground_filtered.las"
# Read file
f = file.File(las_file, mode='r')
# Get number of points from header
num_points = int(f.__len__())
# Create empty numpy array
PointsXYZIC = np.empty(shape=(num_points, 5))
# Load all LAS points into numpy array
counter = 0
for p in f:
newrow = [p.x, p.y, p.z, p.intensity, p.classification]
PointsXYZIC[counter] = newrow
counter += 1
arcpy.da.featureClassToNumpyArray를 보았지만 arcpy를 가져 오지 않고 shapefile로 변환하고 싶지 않았습니다.
LAS 데이터를 numpy 배열로 필터링 / 읽는 방법은 무엇입니까?
오류 메시지는 무엇입니까 (있는 경우)?
—
til_b
오류가 없습니다. 방금 필터링 방법을 몰랐으며 LAS를 배열로 가져 오는 더 좋은 방법이 있는지 확실하지 않았습니다.
—
Barbarossa