Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

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?

share|improve this question
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 Oct 24 '13 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 Oct 24 '13 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. –  cjohnson318 Oct 25 '13 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. –  cjohnson318 Oct 25 '13 at 15:21

2 Answers 2

up vote 5 down vote accepted

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 gdaltrasform syntax to transform a list of coordinates?

share|improve this answer
    
This is great, gdaltransform was exactly what I wanted/needed. –  cjohnson318 Oct 25 '13 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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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