Can someone help me understand why I have issue getting my dataframe (point coordinates into the same coordinate with my Raster data? ##My dataframe with point files (lets call it trainData_crs) trainData_crs<- read.csv(file.csv) class(trainData_crs) [1] "data.frame" ##The data frame had no coordinate system crs(trainData_crs) [1] NA summary(trainData_crs) PlotType Class Latitude Longitude closedforest:22 Min. :1.000 Min. :17.81 Min. :24.72 grass :34 1st Qu.:2.000 1st Qu.:17.86 1st Qu.:24.98 lowforest :24 Median :3.000 Median :17.92 Median :25.02 mediumforest:26 Mean :2.904 Mean :17.95 Mean :25.02 shrubs : 4 3rd Qu.:4.000 3rd Qu.:18.01 3rd Qu.:25.10 unknown : 3 Max. :7.000 Max. :18.46 Max. :25.16 water : 1 ##Create a TIFF raster and convert it to Rasterbricks all_landsat_bands<-list.files ("file.tif") img <- brick(all_landsat_bands) img <- brick(LandsatAprJune_2019_st) class(img) [1] "RasterBrick" attr(,"package") [1] "raster" names(img) [1] "B1" "B2" "B3" "B4" "B5" "B6" "B7" "B10" "B11" ##First convert data frame to Latitude and Longitude coordinate numbers coordinates(trainData_crs)<-~Latitude +Longitude proj4string(trainData_crs) = CRS("+init=epsg:4326") ##Convert to same projection trainData_crs_sp <- spTransform(trainData_crs, crs(img)) ##Confirm if points and image are in same coordinates crs(trainData_crs_sp) CRS arguments: +proj=utm +zone=34 +south +a=6378249.145 +b=6356514.966398753 +towgs84=-138,-105,-289,0,0,0,0 +units=m +no_defs crs(img) CRS arguments: +proj=utm +zone=34 +south +a=6378249.145 +b=6356514.966398753 +towgs84=-138,-105,-289,0,0,0,0 +units=m +no_defs ##Plot them to check if the points overlap with rasterBrick plotRGB(img, r = 4, g = 3, b = 2, stretch = "lin", scale=1000, axes = TRUE, main = "RGB composite image\n Landsat Bands 7, 3, 2"); plot(trainData_crs_sp, add=T) But the difficulty that I have is that, even after converting the dataframe of points to rasterbrick coordinates, they still do not fall in the same area or overlap.