TIF LZW Komprimierung
Die Ausgabedateien können viel Speicherplatz einnehmen. Glücklicherweise bietet gdal direkt eine Option, TIF Dateien mit dem verlustfreien LZW Komprimierungsalgorithmus zu komprimieren. Dies ist die neue Standardeinstellung für die TIF Ausgabe:
dataset = driver.Create(
outpath,
y_pixels,
x_pixels,
1,
gdal.GDT_Float32,
options=['COMPRESS=LZW'])
dataset.SetGeoTransform(self.geo_transform)
dataset.SetProjection(self.wkt_projection)
Automatische Threadanzahl
Die Anzahl an Threads zur Berechnung kann je nach verfügbarer CPU automatisch gesetzt werden. Die optimale Threadanzahl wurde auf verschiedenen Systemen mit 12, 24 und 64 Kernen getestet. Jenseits von 16 Threads wurden keine verbesserten Geschwindigkeiten erreicht, sodass die Anzahl an Threads bei 16 gedeckelt wird:
self.threads = min(os.cpu_count(), 16)
Strukturanpassung
Unter der Haube gibt es ein paar Anpassungen. Die wesentlichen Parameter lassen sich jetzt direkt von main.py setzen, sodass man hierfür nicht mehr in die Dateien manager.py und model.py gehen muss.