I eine Rasterdatei haben gridmap
genannt, in UTM projiziert, der Klasse: SpatialGridDataFrame die wie folgt aussieht:Berechnung Mittelwerte pro Rasterzelle von Daten mit den zugehörigen Koordinaten
Object of class SpatialGridDataFrame
Coordinates:
min max
[1,] 415.0 545.5
[2,] 6371.5 6493.0
Is projected: TRUE
proj4string :
[+proj=utm +ellps=WGS84 +datum=WGS84 +zone=30 +units=km +towgs84=0,0,0]
Grid attributes:
cellcentre.offset cellsize cells.dim
1 415.25 0.5 261
2 6371.75 0.5 243
Data attributes:
values
Min. : 1
1st Qu.:15856
Median :31712
Mean :31712
3rd Qu.:47568
Max. :63423
Ich habe auch einen Datenrahmen, hat Koordinaten und Werte (V1), die diesen Koordinaten zugeordnet sind. Es kann mehrere Werte für bestimmte Koordinaten geben.
DF <- data.frame(
Lat = c(6384.705, 6384.701, 6384.698, 6384.698, 6384.691, 6384.687)
Lon = c(439.7384, 439.7385, 439.7386, 439.7387, 439.7389, 439.7390)
V1 = c(34, 0.006, 76, 34, 777, 0.0000348)
)
Was würde ich tun möchte, ist für jedes GRID-CELL in meinem Raster den Mittelwert von V1 nehmen, nicht für jedes einzelne in dem Datenrahmen koordinieren und einen Datenrahmen erstellen, die die Gitterzelle Wert hat , Rasterkoordinatenwert und Mittelwert V1. Ich kann herausfinden, wie die Orte auf die gridmap
zu überlagern die Gitterzellen-IDs für jede Beobachtung mit diesem Code zu erhalten:
coords <- data.frame(cbind(DF$Lon, DF$Lat))
coords <- SpatialPointsDataFrame(coords, data = data.frame(DF), proj4string = CRS(projUTM))
siteSpo <- over(x=coords, y=gridmap)
DF$siteID <- siteSpo$values
Aber ich kann für jeden einzelnen den nächsten Schritt, der jeden Wert nicht herausfinden, Gitterzellen-ID und Erstellen eines neuen SpatialGridDataFrame, der alle gemittelten Gitterzellenwerte enthält, einschließlich der 0, wo ich keine Daten habe.