Feinarbeit und git

git Logo (Quelle und Lizenz)

Nach Implementierung von irregulären Geometrien über maskierte Numpy arrays stehen einige Pflegearbeiten an. Die Variablenbezeichnungen sind uneinheitlich, zudem fehlen Kommentare und doctrings zur Dokumentation der Funktionen.

Der Code enthält zu diesem Zeitpunkt drei Dateien:

  • main.py: die Hauptdatei für die Basiskonfiguration
  • manager.py: für Datei Ein- und Ausgabe, sowie zur Steuerung des Iterationsverlaufs
  • model.py: Das Modell.

Der Code liest georeferenzierte TIF Dateien, führt die Iteration entsprechend der vom Nutzer vorgegebenen Kriterien an Hand optimierter Mathematikbibliotheken durch, und gibt die Ergebnisse als georeferenzierte TIF Dateien für das Geoinformationssystem zurück. Mit insgesamt nur 250 Zeilen Code inklusive Kommentarzeilen ist das Projekt sehr klein und kompakt programmiert. Es zeigt somit die Stärke von Python und den verwendeten Modulen.

Die Performance ist in Ordnung, für größere Projekte jedoch deutlich zu langsam. Numpy führt den Großteil der Berechnungen auf einem Prozessorkern aus, daher ist der nächste Schritt die Parallelisierung.

Da hierfür zahlreiche Möglichkeiten bestehen und die verwendete Lösung Tests erfordern wird, ist auch die Verwaltung der bisher sehr kompakten Codebasis von Bedeutung. Der Programmcode wird daher ab sofort mit dem Versionsverwaltungssystem git verwaltet und in einem privaten Repository auf github gespeichert.