#------------------------------------------------------------------------- # automatischer Workflow für die Vorverarbeitung einer las-Datei mit CloudCompare # # Arbeitsschritte: # 1. Subsample - Punktdichte verringern # 2. SOR - Statistical Outlier Removal - Ausreißer eliminieren # 3. NOISE FILTER - Isolierte Punkte/Inseln entfernen # # zur Benutzung muss die Variable "cloudComprePath" korrekt gesetzt werden! #------------------------------------------------------------------------- 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" # Ausreißer eliminieren - Anzahl der betrachteten Nachbarpunkte sorPointCount = "20" # Radius noiseRadius = "0.02" # Verarbeitungsbefehl command = [ cloudComprePath, "-O", filename, "-SS", "SPATIAL", subSampleDistance, "-SOR", sorPointCount, "2", "-NOISE", "RADIUS", noiseRadius, "REL", "1.0", "RIP", "-C_EXPORT_FMT", "LAS", "-SAVE_CLOUDS", "FILE", outname ] subprocess.run(command) print("Verarbeitung fertig - Datei exportiert") input("")