Python >> Tutoriel Python >  >> Python Tag >> NumPy

Conversion du fichier LAS en tableau numpy ?

Votre PointsXYZIC est maintenant un tableau numpy. Ce qui signifie que vous pouvez utiliser l'indexation numpy pour filtrer les données qui vous intéressent. Par exemple, vous pouvez utiliser un index de booléens pour déterminer les points à saisir.

#the values we're classifying against
unclassified = 1
ground = 2

#create an array of booleans
filter_array = np.any(
    [
        PointsXYZIC[:, 4] == unclassified, #The final column to index against
        PointsXYZIC[:, 4] == ground,
    ],
    axis=0
)

#use the booleans to index the original array
filtered_rows = PointsXYZIC[filter_array]

Vous devriez maintenant avoir un tableau numpy avec toutes les valeurs où les données sont non classées ou moulues. Pour obtenir les valeurs qui ont été classées, vous pouvez utiliser :

filter_array = np.all(
    [
        PointsXYZIC[:, 4] != unclassified, #The final column to index against
        PointsXYZIC[:, 4] != ground,
    ],
    axis=0
)

Utilisez laspy pour lire les fichiers LAS et renvoyez facilement les données sous forme de tableaux numpy avec lesquels vous pouvez interagir. laspy est du python pur, est presque aussi rapide que libLAS, a plus de fonctionnalités que les liaisons libLAS Python et est beaucoup plus facile à déployer.