Preface: I have a set of lat and long data points from Google Maps, which I believe are in WGS84. My project data is in NAD27(BLM14). These points are in West Texas, where NAD27 differs from WGS84 by about 50 meters. Using QGIS, I loaded my shapefile into one layer and set the CRS to WGS84, then I loaded the same data again and set its layer to NAD27. I was hoping to see a difference between the two layers, but I saw none. (I zoomed in to 47:1.)

Question: Did I actually transform my data points from WGS84 to NAD27? If so, shouldn't I see a discrepancy? I checked the properties of the layers, and one says +datum=WGS84, while the other says +datum=NAD27. Am I missing something obvious? (I never took any GIS classes in school, and I've only been working at this for a few weeks.)

Should I use the NADCON converter at http://www.ngs.noaa.gov/cgi-bin/nadcon.prl to convert my WGS84 coordinate data to NAD27? Or is there a QGIS or (better) an OSGeo solution?

  • 1
    Not quite sure if I understood you right, but I assume your data got projected on the fly. To permanent project just do a right click on your data layer in QIGS>Save as>CRS choose the CRS you want.
    – ustroetz
    Commented Oct 24, 2013 at 21:59
  • you should have the on-the-fly projection setting turned on this could be the answer to the discrepancy question. If so then it does the transformation for you.
    – Brad Nesom
    Commented Oct 24, 2013 at 22:01
  • When I did all of this I had projected-on-the-fly turned "on", and I went through the same process with it turned "off", to no noticeable effect, zoomed in at 1:8. Commented Oct 25, 2013 at 15:19
  • I've tried right-clicking on my data layer, and choosing an output CRS, but when I load it back and compare, I see no difference. Commented Oct 25, 2013 at 15:21

3 Answers 3


Did I actually transform my data points from WGS84 to NAD27?

Not really. Assuming your original coordinates are actually WGS84, you just assigned an erroneous CRS of NAD27(BLM14) the second time you imported the data. Assigning the CRS does not transform the data.

I was hoping to see a difference between the two layers, but I saw none.

You may have on-the-fly transformations on for your project. If so, your WGS84 points were automatically reprojected (or projected in this case) to NAD27(BLM14). Turn it off (under Project Properties -> CRS) to see the actual differences.

To more clearly see the difference, relative to your Google Maps points (which may be in a different CRS), load the layer, defining it as having a CRS as WGS84 (probably accurate), then right-click on the layer and choose Save As..., defining your project CRS of NAD27(BLM14) for the resultant file.

Turn off on-the-fly transformations for you project and load the saved NAD27(BLM14) file in. You should see the difference between the projections, i.e. your ~ 50 meters.

You can also use command line utilities to convert your coordinates:

PROJ's cs2cs utility

GDAL's gdaltransform utility

One way to use gdaltransform is to start a terminal session (OSGeo4W if you are on Windows) and interactively execute:

gdaltransform -s_srs EPSG:<source CRS code> -t_srs EPSG:<target CRS code>

EPSG stands for European Petroleum Survey Group. Reference codes may be found at spatialreference.org.

For example, EPSG:4326 and EPSG:4267 are reference codes for WGS84 and NAD27, respectively:

gdaltransform -s_srs EPSG:4326 -t_srs EPSG:4267
-102.60930001 32.16984002  <-- user input

will return the corresponding coordinate in NAD27,

-102.608865426754 32.1697300184475

or, depending upon your platform, you may use stdin/stdout redirection as follows,

gdaltransform -s_srs EPSG:4326 -t_srs EPSG:4267 < input.csv > output.txt

This way, if you construct your lon/lat data as a csv with one coordinate pair per line, like,

-102.60930001, 32.16984002
-102.60350002, 32.14630999

then the input redirector, '<', will feed your data in, and the output redirector, '>', will write output.txt, which will look like,

-102.608865426754 32.1697300184475 0
-102.603066486342 32.1461989948827 0

See also: Proper gdaltransform syntax to transform a list of coordinates?

  • This is great, gdaltransform was exactly what I wanted/needed. Commented Oct 25, 2013 at 16:18

If you have 'On-the-fly-reprojection' enabled, you should see the difference between WGS84 and NAD27 for the same coordinate pair:

enter image description here

But note that you should use EPSG:4267 NAD27 for this, and not EPSG:32064 NAD27-BLM14, which has US feet as units. This will only work in the area of validity of NAD27, that is Northern America. Points in other parts of the world will coincide, as there is no offset definition for them.

But that is not a correct transformation: A place in your backyard should remain in your backyard, regardless of the CRS you are using. So if you do a transformation with Save As ... from EPSG:4326 into EPSG:32064, the points of the WGS84 and BLM14 layer should be on top of each other.


The first sentence you wrote perhaps is wrong that the lat long taken from Google maps are not in WGS84 rather they are in NAD27. That is why you dont see any difference.

  • Are you suggesting that Google Maps uses the NAD27 datum? Because that is incorrect: developers.google.com/maps/documentation/javascript/… Perhaps you are suggesting that the coordinate display in Google Maps was set to NAD27 before recording the coordinates? Because of the wording of your answer I'm having a hard time understanding exactly what you mean.
    – Chris W
    Commented Aug 23, 2014 at 18:55

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.