Für "Mietzwecke" muss ich die Computerressourcen angeben, die ich vom Rechenzentrum meiner Universität benötige. Ich habe sehr wenig Ahnung, wonach ich fragen soll.
Können Sie unter Berücksichtigung der folgenden Informationen etwas vorschlagen?
Dies ist der Computercluster: "Ein 10-Blade-Server mit jedem Blade, bestehend aus 2 Quad Core Intel Xeon 2,33-GHz-CPUs mit 16 GB Speicher für insgesamt 80 CPUs und 160 GB Speicher. Konten auf einem 2-TB-Festplattensystem. Wird ausgeführt 64-Bit-Linux "
Bei verlustfreier Komprimierung handelt es sich bei den Originaldaten um eine 50-GB-TIFF-Datei. Irgendwann werde ich mit mehreren (bis zu zehn) Dateien mit einer Größe von 50 GB arbeiten.
Ich würde GDAL, Python-Scripting und vielleicht C ++ - Scripting verwenden. Wenn erlaubt, würde ich Software wie Grass GIS und Saga GIS verwenden. Auch R-Sprache mit räumlichen Bibliotheken. Ich werde die üblichen Geländeparameter ableiten, versuchen, objektorientierte Algorithmen zur Extraktion spezifischer Merkmale (Landformen) anzuwenden und statistische Analysen für Beschreibungs- und Modellierungszwecke zu verwenden.
Antworten:
Wie DavidF in den Kommentaren feststellte, ist die Strategie wichtiger, unabhängig von der Maschine. Sie können eine 50-GB-Matrixalgebra nicht mit der gesamten Matrix gleichzeitig ausführen (oder es ist keine gute Idee, sie auszuführen), da dies konzeptionell impliziert, dass die gesamte Matrix muss in den Speicher geschrieben werden.
Eine gute Strategie, schnell, sehr einfach und effizient, ist die Verwendung von gdal_calc , das Lesen und Schreiben des Rasters in Blöcken , sodass es sehr speichereffizient ist.
Zum Beispiel: gdal_calc.py -A input.tif -B input2.tif --outfile = result.tif --calc = "(A + B) / 2"
Probieren Sie es aus, es ist sehr wahrscheinlich, dass Sie die Verarbeitung auf Ihrem Desktop ausführen können, und dann benötigen Sie möglicherweise nur einen besseren Computer, um den Prozess zu beschleunigen, oder nicht.
Obs: Sie müssen mehrere gdal_calc-Prozesse als Spam versenden, um die Vorteile von Multicore-Prozessoren nutzen zu können.
quelle