[GRASS-de] r.surf.idw liefert nur ganzzahlige Werte
Robert Pollak
robert.pollak at scietec.at
Mo Dez 4 15:44:46 CET 2006
Hallo Liste!
Als erst kurzzeitiger GRASS-User (GRASS 6.0.1) habe ich folgendes Problem:
Gegeben ist eine Datei, die zeilenweise x-, y- und z-Werte (Position und
Höhe als Gleitkommazahl in Metern) enthält, die durch Leerzeichen
getrennt sind.
Die Positionen liegen auf einem 10-Meter-Raster, viele Punkte sind
ungültig und haben daher den z-Wert "1.70141E+038".
Ich möchte aus diesen Punkten eine raster map erstellen und diese dann
durch Mittelwertbildung auf 20-Meter-Raster ausdünnen.
Das habe ich wie folgt versucht:
Ich habe
1.)
mit fgrep alle Punkte mit dem ungültigen z-Wert rausgeworfen.
(Es bleiben ca 250000 von 610000 Punkten.)
2.)
in der GRASS-Testlocation spearfish60 ein neues Mapset angelegt und
dieses geöffnet.
3.)
mit v.in.ascii die Datei importiert.
(Dabei habe ich im GUI den field separator auf Leerzeichen und die
"Number of column used as z coordiniate" auf 3 gestellt. Weiters habe
ich "create 3D file" und "Do not create table in points mode" verwendet,
obwohl ich aus der Doku nicht herausgefunden habe, was diese
Einstellungen bedeuten.)
:
> v.in.ascii input=W10_nomissing.xyz output=W10 format=point fs= x=1
y=2 z=3 cat=0 -z -t
4.)
die Region von der vector map übernommen und die Auflösung auf 10 Meter
gestellt:
> g.region vect=W10 res=10
5.)
die entsprechende raster map erzeugt:
> v.to.rast input=W10 layer=1 output=W10 use=z value=1 rows=4096
(Data type DCELL und data range in r.info sehen ok aus.)
6.)
die Zielauflösung auf 20 Meter gestellt (g.region res=20) und dann die
"inverse distance weighed average interpolation" verwendet:
> r.surf.idw input=W10 output=W10_idw20
Wenn ich das Ergebnis W10_idw20 mit d.what.rast untersuche, sehe ich,
dass die map nur ganzzahlige Werte enthält! (Auch r.info zeigt den
Integer-Datentyp CELL.) Die Mittelwertbildung über die ursprünglichen
Gleitkommawerte sollte aber i.A. Gleitkommazahlen ergeben. Werden diese
gerundet? Warum? Wie muss ich vorgehen, damit r.surf.idw eine FCELL-
oder DCELL-Map erzeugt?
Kann es was damit zu tun haben, dass nach Schritt 5 die raster map laut
r.info "Number of Categories: 255" hat?
Aber es hilft auch nichts, vor dem r.surf.idw-Call mit "g.region res=10;
r.resample input=W10 output=W10nocat" die Kategorien zu entfernen
("Number of Categories: 0").
(Wenn ich stattdessen zum Ausdünnen r.resamp.rst verwende, ist das
Ergebnis erwartungsgemäß nicht vom Typ CELL (nämlich FCELL).)
Beste Grüße,
Robert
--
______________________________________
Dipl.-Ing. Robert Pollak
SCIETEC Flussmanagement GmbH
Herrenstraße 4
A-4020 Linz
Phone: [+43] (0)732 / 71 31 20 26
Fax: [+43] (0)732 / 71 31 20 4
Cell Phone: [+43] (0)699 / 11 44 30 32
URL: http://www.scietec.at
______________________________________