Verbesserungen unter der Haube

GDAL Logo (Quelle)

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.