Возвращает data.frame с нужными столбцами, создавая объект SpatialPoints
и затем привязывая преобразование координат объекта к исходному data.frame
. Тем не менее, координаты wgs84 немного отличаются по сравнению с тем, что вы опубликовали, поэтому, пожалуйста, предоставьте больше информации о системе координат "Lambert 78" для правильного соответствия crs.
library(sp)
coord_df <- data.frame(label=c('AB_01', 'AB_02'), Ycoord=c(227426.9, 227316.9), Xcoord=c(199559.0, 199859.0), stringsAsFactors = FALSE)
proj4_lambert <- '+proj=lcc +lat_1=51.16666723333334 +lat_2=49.83333389999999 +lat_0=90 +lon_0=4.367486666666666 +x_0=150000.013 +y_0=5400088.438 +ellps=intl +towgs84=-99.1,53.3,-112.5,0.419,-0.83,1.885,-1.0 +units=m +no_defs'
#see https://spatialreference.org/ref/sr-org/56/
coord_sp <- SpatialPoints(coords=coord_df[,c('Xcoord', 'Ycoord')], proj4string = CRS(proj4_lambert))
coord_df_final <- cbind(coord_df, coordinates(spTransform(coord_sp, CRS('+init=epsg:4326 +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0')))[,2:1])
colnames(coord_df_final)[4:5] <- c('Ycoord_wgs', 'Xcoord_wgs')
coord_df_final
# label Ycoord Xcoord Ycoord_wgs Xcoord_wgs
#1 AB_01 227426.9 199559 51.35447 5.080160
#2 AB_02 227316.9 199859 51.35346 5.084451