Interpolation verfeinern
Verfasst: Mi Mai 19, 2021 3:47 pm
Hallo ihr lieben,
ich versuche Messdaten auf ein Gitter zu interpolieren und bin dabei wie folgt vorgegangen:
Nun zeigt das Ergebnis noch einige Ecken und Kanten und auch Änderungen an den interp-Einstellungen liefern kein anderes Ergebnis. Könntet ihr mir hier bitte weiterhelfen um das Ergebnis etwas "smoother" zu machen.
Danke für eure Hilfe
Jessi
ich versuche Messdaten auf ein Gitter zu interpolieren und bin dabei wie folgt vorgegangen:
Code: Alles auswählen
library(ggplot2)
library(akima)
library(viridis)
library(ggthemes)
#Ausgangsvektor
str(nied)
'data.frame': 550 obs. of 6 variables:
$ Codename: Factor w/ 738 levels "BER","KOE",..: 1 2 3 5 6 7 8 10 11 12 ...
$ Mittel : num 14.68 4.38 1.8 12.3 55.29 ...
$ Laenge : num 1.5 13.78 10.94 9.58 14.3 ...
$ Breite : num 42.5 47.6 47.4 47.2 46.5 ...
$ int : num 3 1 1 3 4 2 1 3 3 4 ...
# int enthält die jeweilige Kategorie, entsprechend des Mittels. Für die Kategorien möchte ich nun meine Interpolation ausführen.
s <- length(nied$Mittel)
di <- interp(nied$Laenge, nied$Breite, nied$int,
xo = seq(min(nied$Laenge), max(nied$Laenge), length = s),
yo = seq(min(nied$Breite), max(nied$Breite), length = s), duplicate = "median", linear=TRUE, extrap=FALSE)
str(di)
List of 3
$ x: num [1:550] -16.2 -16.1 -16 -15.8 -15.7 ...
$ y: num [1:550] 28.5 28.5 28.6 28.7 28.8 ...
$ z: num [1:550, 1:550] 1 NA NA NA NA NA NA NA NA NA ...
dat_interp <- data.frame(expand.grid(x=di$x, y=di$y), z=c(di$z))
str(dat_interp)
'data.frame': 302500 obs. of 3 variables:
$ x: num -16.2 -16.1 -16 -15.8 -15.7 ...
$ y: num 28.5 28.5 28.5 28.5 28.5 ...
$ z: num 1 NA NA NA NA NA NA NA NA NA ...
### erstelle aus Interpolation tiff.Raster ##
#library(raster)
coordinates(dat_interp) <- ~ x + y
gridded(dat_interp) <- TRUE
r_interp <- raster(dat_interp)
crs(r_interp) <- "+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0" ##
Danke für eure Hilfe
Jessi