Ich habe zwei Raster unterschiedlicher Auflösung und Ausdehnung:
> res(Elevation)
[1] 0.002083333 0.002083333
> res(Ann_precip)
[1] 0.008333333 0.008333333
> extent(Elevation)
class : Extent
xmin : -15.07722
xmax : -7.641806
ymin : 7.193611
ymax : 12.67694
> extent(Ann_precip)
class : Extent
xmin : -15.075
xmax : -7.641667
ymin : 7.191667
ymax : 12.675
Meine Frage ist , damit diese beiden Raster übereinstimmende Auflösungen und Ausmaße haben, ist es besser:
A) Verwenden Sie die raster::aggregate
Funktion
> 0.008333333/0.002083333
[1] 4
Elevation_res<-aggregate(Elevation, fact=4, fun=mean)
und die raster::extend
Funktion
Elevation_res<-extend(Elevation_res, Ann_precip, values=NA)
(obwohl ich hier immer noch unterschiedliche, aber sehr ähnliche Ausmaße und Auflösungen bekomme):
> res(Elevation_res)
[1] 0.008333333 0.008333333
> res(Ann_precip)
[1] 0.008333333 0.008333333
> res(Elevation_res)==res(Ann_precip)
[1] FALSE FALSE
> extent(Elevation_res)
class : Extent
xmin : -15.07722
xmax : -7.635556
ymin : 7.193611
ymax : 12.67694
> extent(Ann_precip)
class : Extent
xmin : -15.075
xmax : -7.641667
ymin : 7.191667
ymax : 12.675
oder
b) Verwenden Sie die raster::resample
Funktion
Elevation_res<-resample(Elevation, Ann_precip, method="bilinear")
> res(Elevation_res)==res(Ann_precip)
[1] TRUE TRUE
> extent(Elevation_res)==extent(Ann_precip)
[1] TRUE
Ich frage das , weil ich in gelesen habe Wegmann et al (2016) (p110) (wenn ich das richtig verstehe) , dass stark Pixel Resampling Werte beeinflusst, und dass aggregate()
, extend()
und crop()
sollte stattdessen verwendet werden. Kann ich davon ausgehen, dass die durch Resampling erzeugte Verzerrung hier minimal ist, da die Unterschiede in Auflösung und Ausmaß in meinem Fall recht gering sind?
quelle
bilinear
Entspricht die Optionmean
als Funktion füraggregate
und diengb
Option entsprichtmodal
? Ich beziehe mich auf Fälle, in denen das Ziel eine gröbere Auflösung (größere Pixelgröße) als die zu transformierende Eingabe aufweist.