ich bin gerade beim Ausprobieren mehrere Sachen, aber noch nicht ganz sicher, ob und wie in R das möglich ist. Vielleicht kann mir hier jemand weiteren Input geben.
Ich schildere einmal das "Problem". Ich habe Messwerte von mehreren Stationen, diese sind mit Längen- und Breitengraden sowie des Messwertes versehen, allerdings unregelmäßig verteilt. Zudem habe ich Modellwerte, vorliegend als Rasterfile, ebenfalls mit Längen- und Breitengraden und eines Modellwertes. Ich möchte jetzt die Modellwerte mit den Messwerten "verknüpften" und diese vergleichen um nachfolgend den Modellwert mit den tatsächlichen Messwert gewichten. Das Problem hier ist natürlich, dass die Anzahl der Messpunkte um sehr viel geringer ist, als das berechnete Feld.
Mein erster Ansatz: Ich erstelle aus den Messdaten ein Rasterfeld.
Code: Alles auswählen
library(sp)
library(rgdal)
library(raster)
# gekürzter Datensatz der Messwerte
messdaten <- read.csv("test_r_for.csv", dec = ",", sep = ";")
# lesen daten von einem Tag aus und "breite" die Daten entsprechend vor
messdaten_tag <- subset(messdaten, messdaten$Tag == 15 & messdaten$Monat == 3)
messdaten_tag$Breite <- as.numeric(messdaten_tag$Breite)
messdaten_tag$Laenge <- as.numeric(messdaten_tag$Laenge)
messung <- data.frame(messdaten_tag$Laenge, messdaten_tag$Breite, messdaten_tag$Tagesmittel)
colnames(messung) = c("Laenge", "Breite","Mittel")
# erstelle aus Messdaten Raster
messung_m <- data.matrix(messung[1:3])
messung_e <- extent(messung_m[,1:2])
messung_r <- raster(messung_e, ncol=10, nrow=30) ## Dimension von Vergleichsraster: 1800,3600
stationen_raster <- rasterize(messung_m[,1:2], messung_r, messung_m[,3], fun = mean)
crs(stationen_raster) <- ("+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0") #Projektion von Vergleichsraster
plot(stationen_raster)
stationen_raster
## class : RasterLayer
## dimensions : 30, 10, 300 (nrow, ncol, ncell)
## resolution : 0.5763, 0.05564667 (x, y)
## extent : 10.5933, 16.3563, 46.6306, 48.3 (xmin, xmax, ymin, ymax)
## coord. ref. : +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0
## data source : in memory
## names : layer
## values : 13.46154, 92.92857 (min, max)
Das ganz müsste ich dann für alle verfügbaren Tage machen, das sind ca. 80 Tage die ich abgleichen sollte.
Ich muss auch ganz ehrlich sagen, dass ich auch noch nicht weiß, wie ich am besten dann weiter machen. Die Messdaten auf ein Rasterfile zu interpolieren war nur ein erster Gedanke/Versuch.
Wie ihr seht, bin ich für jeden Gedanken dankbar und hoffentlich habe ich das Problem/Vorhaben einigermaßen verständlich erklärt.
Danke, Jess