[FOSSGIS-Talk] Farbcodierung Neigungen (slope) in GRASS GIS;
Markus Neteler
neteler at osgeo.org
Do Mai 5 21:14:35 CEST 2016
Hallo Stefan,
2016-05-02 0:00 GMT+02:00 <net-ecke at gmx.net>:
> Hallo,
>
> ich habe aus einem digitalen Geländemodell Karten zu Neigungen (slope),
> Expositionen (aspect), etc. erzeugt und würde die jetzt gerne mit r.color
> farbcodieren.
> Und zwar so, dass nur Werte innerhalb eines gewissen Bereichs farbig
> angezeigt werden, der Rest soll weiss bleiben.
>
> Also z.B. sollen die Werte für Neigungen zwischen 30 bis 90 Grad mit einer
> Farbskala codiert werden (z.B. "bcyr: blue through cyan through yellow to
> red"), alles unter 30° Neigung soll weiss bleiben.
>
> Gibt es dazu eine Synthax, das so in einer Regeldatei (z.B.
> "Farbregel_slopes.txt") festzulegen, die man dann mit dem Befehl r.color
> verwendet.
Es gibt zwei Moeglichkeiten:
1) Filtern (neue Karte), dann färben (einfach):
g.region raster=slope -p
r.mapcalc "slope_above_30deg = if(slope > 30.0, slope, null() )"
r.colors slope_above_30deg color=bcyr
2) Spezielle Farbtabelle erzeugen (ist komplizierter!)
g.region raster=slope -p
r.univar slope
# --> maximalen Wert herauslesen (oder per -g und
# eval shell Funktion automatisieren)
#
# Textdatei "farbregel_slopes.txt" erzeugen mit ungefähr diesem Inhalt
# (die Schwellwerte über 30 Grad müssen dann entsprechend aus der
# Statistik der Neigungskarte berechnet werden, hier Beispiel!):
0 white
29.999 white
30 blue
35 cyan
40 yellow
50 red
r.colors slope color=farbregel_slopes.txt
Die erste Variante ist einfacher :-)
Schöne Grüße,
Markus