This practical is to solve GPS points that are very close to each other in the same imagery pixel.
Load library
Read raster and shapefile point
point<-shapefile("F:\\Research\\Research_Cooperation\\ILRI\\UTM_Shapefile.shp")
point$Sum_Cx<-as.numeric(point$Sum_Cx)
path<-"F:\\Research\\Research_Cooperation\\ILRI\\output.tif"
myraster<-stack(path)
Merging mynumber to point and convert to sf geodataframe
point$Raster_ID<-mynumber
library(sf)
Mypoint<-st_as_sf(point)
Mypoint$Raster_ID<-as.factor(Mypoint$Raster_ID)
Summary and merge
# Calculate the total of Sum_Cx grouped by Raster_ID
Mytotal<- Mypoint %>% group_by(Raster_ID)%>% summarise(Sum_total=sum(Sum_Cx))
# Remove duplicated Raster_ID
Mypoint_Uni_Raster_ID<-Mypoint[!duplicated(Mypoint$Raster_ID),]
# Join two datasets together
Mypoint_final<-st_join(Mytotal,Mypoint_Uni_Raster_ID,by="Raster_ID")
head(Mypoint_final)
Simple feature collection with 6 features and 17 fields
geometry type: POINT
dimension: XY
bbox: xmin: 566512.2 ymin: 2337469 xmax: 567087.4 ymax: 2337871
CRS: +proj=utm +zone=48 +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0
LS0tDQp0aXRsZTogIlJlbW92ZSBQb2ludHMgZmFsbCB3aXRoaW4gdGhlIHNhbWUgcGl4ZWwiDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpUaGlzIHByYWN0aWNhbCBpcyB0byBzb2x2ZSBHUFMgcG9pbnRzIHRoYXQgYXJlIHZlcnkgY2xvc2UgdG8gZWFjaCBvdGhlciBpbiB0aGUgc2FtZSBpbWFnZXJ5IHBpeGVsLg0KDQojIyMgTG9hZCBsaWJyYXJ5DQoNCmBgYHtyfQ0KbGlicmFyeShyYXN0ZXIpDQpsaWJyYXJ5KHRpZHlyKQ0KbGlicmFyeShkcGx5cikNCg0KYGBgDQoNCg0KIyMjIFJlYWQgcmFzdGVyIGFuZCBzaGFwZWZpbGUgcG9pbnQNCg0KYGBge3J9DQpwb2ludDwtc2hhcGVmaWxlKCJGOlxcUmVzZWFyY2hcXFJlc2VhcmNoX0Nvb3BlcmF0aW9uXFxJTFJJXFxVVE1fU2hhcGVmaWxlLnNocCIpDQoNCnBvaW50JFN1bV9DeDwtYXMubnVtZXJpYyhwb2ludCRTdW1fQ3gpDQoNCnBhdGg8LSJGOlxcUmVzZWFyY2hcXFJlc2VhcmNoX0Nvb3BlcmF0aW9uXFxJTFJJXFxvdXRwdXQudGlmIg0KDQpteXJhc3Rlcjwtc3RhY2socGF0aCkNCmBgYA0KDQojIyMgRXh0cmFjdCB0aGUgcG9zaXRpb25hbCBudW1iZXIgb2YgcG9pbnRzIGluIHJhc3RlciANCg0KYGBge3J9DQpteW51bWJlcjwtY2VsbEZyb21YWShteXJhc3RlciwgcG9pbnQpDQpgYGANCg0KIyMjIE1lcmdpbmcgbXludW1iZXIgdG8gcG9pbnQgYW5kIGNvbnZlcnQgdG8gc2YgZ2VvZGF0YWZyYW1lDQoNCmBgYHtyfQ0KcG9pbnQkUmFzdGVyX0lEPC1teW51bWJlcg0KDQpsaWJyYXJ5KHNmKQ0KDQpNeXBvaW50PC1zdF9hc19zZihwb2ludCkNCg0KTXlwb2ludCRSYXN0ZXJfSUQ8LWFzLmZhY3RvcihNeXBvaW50JFJhc3Rlcl9JRCkNCmBgYA0KDQojIyMgU3VtbWFyeSBhbmQgbWVyZ2UgDQoNCmBgYHtyfQ0KIyBDYWxjdWxhdGUgdGhlIHRvdGFsIG9mIFN1bV9DeCBncm91cGVkIGJ5IFJhc3Rlcl9JRA0KTXl0b3RhbDwtIE15cG9pbnQgJT4lIGdyb3VwX2J5KFJhc3Rlcl9JRCklPiUgc3VtbWFyaXNlKFN1bV90b3RhbD1zdW0oU3VtX0N4KSkNCg0KIyBSZW1vdmUgZHVwbGljYXRlZCBSYXN0ZXJfSUQgDQoNCk15cG9pbnRfVW5pX1Jhc3Rlcl9JRDwtTXlwb2ludFshZHVwbGljYXRlZChNeXBvaW50JFJhc3Rlcl9JRCksXQ0KDQojIEpvaW4gdHdvIGRhdGFzZXRzIHRvZ2V0aGVyDQoNCk15cG9pbnRfZmluYWw8LXN0X2pvaW4oTXl0b3RhbCxNeXBvaW50X1VuaV9SYXN0ZXJfSUQsYnk9IlJhc3Rlcl9JRCIpDQoNCmhlYWQoTXlwb2ludF9maW5hbCkNCg0KYGBgDQoNCg==