我一直在按照这个工作流程将坐标从东/北转换为 R 中的纬度/经度。直到今天它一直工作正常。这是一个可重现的示例:
require(rgdal)
# create test coordinates
x <- 259269 y <- 074728
# create test dataframe
dat <- data.frame(x, y)
class(dat) # "data.frame"
### shortcuts
ukgrid <- "+init=epsg:27700"
latlong <- "+init=epsg:4326"
### Create coordinates object
coords <- cbind(Easting = as.numeric(as.character(x)),
Northing = as.numeric(as.character(y)))
class(coords) # matrix
dat_SP <- SpatialPointsDataFrame(coords,
data = dat,
proj4string = CRS("+init=epsg:27700"))
# Error in !res[[1]] : invalid argument type
# Following steps ----
# Convert
dat_SP_LL <- spTransform(dat_SP, CRS(latlong)
# replace Lat, …Run Code Online (Sandbox Code Playgroud)