Files
Projekt-Visualisierung/cloudcompare_workflow.py

51 lines
1.5 KiB
Python

#-------------------------------------------------------------------------
# automatischer Workflow für die Vorverarbeitung einer las/laz-Datei mit CloudCompare
#
# Arbeitsschritte:
# 1. Subsample - Punktdichte verringern
# 2. NOISE FILTER - Isolierte Punkte/Inseln entfernen
#
# zur Benutzung muss die Variable "cloudComprePath" korrekt gesetzt werden!
#
# Die Ausgabedatei wird in dem Verzeichnis gespeichert, in dem sich dieses Skript befindet!
#-------------------------------------------------------------------------
import subprocess
from tkinter import Tk
from tkinter.filedialog import askopenfilename
# die Punktwolken Datei, die verarbeitet wird bestimmen
Tk().withdraw()
filename = askopenfilename()
print("Datei: " + filename)
# Name der Ausgabedatei
outname = filename.rsplit('/', 1)[-1].rsplit('.', 1)[0] + "_processed.laz"
outname = outname.replace(" ", "_")
# Wo ist CloudCompare auf diesem Rechner gespeichert?
cloudComprePath = "C:\Program Files\CloudCompare\CloudCompare.exe"
#----- Variablen für die Verarbeitungstools -----
# minimale Distanz zwischen zwei Punkten (in Meter)
subSampleDistance = "0.01"
# Radius für Suche nach Nachbarn (in Meter)
noiseRadius = "0.02"
# Verarbeitungsbefehl
command = [
cloudComprePath,
"-O", filename,
"-SS", "SPATIAL", subSampleDistance,
"-NOISE", "RADIUS", noiseRadius, "REL", "1.0", "RIP",
"-C_EXPORT_FMT", "LAS",
"-SAVE_CLOUDS", "FILE", outname
]
subprocess.run(command)
print("Verarbeitung fertig - Datei exportiert")
input("")