Eine Möglichkeit Höhendaten zweidimensional darzustellen wäre eine Heatmap (z.B. höher = heller) oder eine Schattierung. Für beide Darstellungen müssen wir einzelne Bildpunkte setzen und so ein Bild erstellen.
Modul «PIL»
Mit dem Modul PIL
(heute Pillow
) können wir mit Python Bilder erzeugen und bearbeiten. Wir machen ein Bild mit vorgegeben Dimensionen (Anzahl Pixel in Breite und Höhe) und setzen dann für jeden Pixel einen RGB-Farbwert:
Beispiel
JupyterLabbild-erzeugen.ipynb
Farbverlauf erstellen. Achtung Farbe-Werte RGB zwischen 0 und 255
Hilfsfunktion «clamp»
Wir brauchen eine Hilfsfunktion welche die Werte einschränkt, wie eine Klammer:
So können wir sicherstellen, dass der Wert x
zwischen a
und b
«eingeklammert» wird, also b
nicht über- und a
nicht unterschreitet.
Aufgabe: Hilfsfunktion «clamp»
Heatmap
Aufgabe: Heatmap
Wir können die Höhenangaben als Heatmap darstellen: Hohe Punkte hell, tiefe Punkte dunkel. Dazu müssen wir aus der Höhe einen Grauwert zwischen 0 und 255 berechnen und dem zur Koordinate passenden Punkt im Bild zuweisen.
Alternativ kann man auch je nach Höhe einen Wert zuweisen:
- höchste Punkte weiss (Schnee)
- hohe Punkte grau (Fels)
- tiefere Punkte grün (Wald/Gras)
- tiefste Punkte blau (Meer, Fluss, See)
Schattierung
Aufgabe: Schattierung
Um eine Schattierung zu berechnen, vergleichen wir jede Koordinate mit einer Nachbarkoordinate. Aus dem Höhenunterschied können wir einen Wert berechnen, z.B.
- bei gleicher Höhe grau
- höher = heller
- tiefer = dunkler