Yang Yang
Yang Yang

Reputation: 902

How to change coordinate reference system (CRS) for a .shp file in R?

I have a .shp file and I want to change its crs, I have tried to use spTransform but it does not work in my case. The .shp file can be found at https://www.dropbox.com/s/8wfgf8207dbh79r/gpr_000b11a_e.zip?dl=0.

library(rgdal)
shpfile <- readOGR(dsn="D:/Map",layer = "gpr_000b11a_e")
crs(shpfile)

CRS arguments:
 +proj=longlat +datum=NAD83 +no_defs +ellps=GRS80 +towgs84=0,0,0

spTransform(shpfile, CRS("+proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0"))
crs(shpfile)

CRS arguments:
 +proj=longlat +datum=NAD83 +no_defs +ellps=GRS80 +towgs84=0,0,0 

The problem is: after spTransform, the crs for the shapefile does not change. Thanks for any help.

Upvotes: 0

Views: 2852

Answers (1)

lcgodoy
lcgodoy

Reputation: 793

The problem is that you didn't attribute the transformed shape to an object. Try this:

shpfile <- spTransform(shpfile, 
CRS("+proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0"))

I recommend you the package sf, for reading and handling .shp files, its easy to use and efficient.

Hope it helps.

Upvotes: 2

Related Questions