After reading my .shp in R using readOGR(), I tried to figure out what is my EPSG and what are my units in my projections?

when I tape

my.shp = readOGR(dsn=setwd(dsn = dsn,


the returning information is:

[+proj=longlat +datum=NAD83 +no_defs +ellps=GRS80 +towgs84=0,0,0] 

so NO information about EPSG or units? are they in miles or in kilometers?

Moreover, when checkinhg my data with summary(my.shp) my data seems to not be projected (Is projected: FALSE), but they still have proj4string?

Is projected: FALSE 
proj4string :
  [+proj=longlat +datum=NAD83 +no_defs +ellps=GRS80 +towgs84=0,0,0]

Thus: are my data projected or not? and how can I find out what is my EPSG and my map units? I need to have my map in Miles, so do I need to transform spTransform() them? If yes, how?


2 Answers 2


The proj string does not contain an EPSG code. You can use EPSG:4269 or +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs. Some softwares try to guess the EPSG code from the string, and sometimes they fail, and treat it as a custom CRS.

EPSG:4269 has degrees as units, and is not a projected coordinate system, but rather a geographic coordinate system. If you want a projected CRS, take the state plane systems, or a US contiguos projection. EPSG:102003 to 102005 are designed by ESRI for those tasks. You may find them in some GDAL based software, but not all.

If you want miles or kilometers, you need to put up a custom CRS. EPSG has only meters and us-feet based projections.

  • thank you @AndreJ, I feel much more confident now in the jungle of projections and transformations :)
    – maycca
    Apr 18, 2016 at 19:04

Well, your projection is "longlat", ellipsoid "GRS80" and datum "NAD83", so the data is unprojected and in decimal degrees. This is why is projected is returning FALSE. If you want your data to be projected you first need to choose a projection then use spTransfrom to reproject it. Since we know nothing about your data, like where it is, it is difficult to recommend a projection. This precludes a "step-by-step" solution.

  • Thank you @JeffreyEvans, my data regard census data for state Oregon, US. Maybe do you have some suggestions which projection to transorm to choose? thank you !
    – maycca
    Apr 18, 2016 at 2:46
  • I think it can be my.shp3<-spTransform(my.shp, CRS("+init=epsg:32610")) as this is the UTM, projected. Hw can I decide which transformation is the best? just display all of them and and choose one which seems the be wrapped the least? thank you !
    – maycca
    Apr 18, 2016 at 2:56
  • I would imagine that either state plane (feet) or UTM (meters) would be best. However, Oregon is split between two UTM zones 10 (west) and 11 (east). For the 83 HRAN revision state plane OR is divided into north and south zones so, about the same issue as with UTM. Here are the projections for OR (spatialreference.org/ref/…). Apr 18, 2016 at 3:01
  • How can I transform projection for single .shp (state of Oregon) for two different UTM zone? But it is true, for 10 it looks pretty skewed...
    – maycca
    Apr 18, 2016 at 3:11
  • Cool, thank you again @JeffreyEvans ! it looks much better if I use Mercator epsg:3857 (in meters), the State Plane directed me on the better way ! ;)
    – maycca
    Apr 18, 2016 at 3:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.