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.

Good morning all:

I have recently discovered QGIS and have been hoping to find a solution for converting bacthes of xy coordinates between two projection systems for our mapping system. I have known good coordinates for both datums that I am trying to convert between, but even though I believe I'm doing the right steps in QGIS, my coordinates are still out by a small margin, which is where my question begins...

Prior to finding QGIS, for single coordinate conversion I have been using the free Java-based Coordinate and Data Transformations tool that is available on the internet from Charles L. Taylor. I've attached an image of the two known coordinates from this tool.

**As my rating does not allow image posting, I've provided the text data of my coordinates. If anyone wants to see the images, please reply and I can e-mail them.

Original coords in NAD83/WGS84 Zone 14N (EPSG:4326)

Lat/Long: 49.362977,-101-742026
UTMs: x 300914.226, y 5471423.864

Converted coords in NAD27 Zone 13N (EPSG:26713)

Lat/Long: 49.362924,-101.741634
UTMs: 736577.110,5472689.933

So from here, I had imported my list of coordinates (original datum is NAD83/WGS84) into QGIS to get my list of points. After adding the corresponding UTM coordinates using the Export/Add Geometry function, I can see that the UTMs in the attribute table are the same as my original .csv file.

After conversion to what I thought was NAD27-Z13 using QGIS, my first coordinate comes back with the following coordinates:

Lat/Long: 49.36297733,-101.74205733
UTMs: 736548.431,5472694.612

When I plot the above coordinate on the map I have with the known good points already on the map, obviously they don't line up. What I'm wondering is if I'm missing a step or if there are options that must be set during conversion. From what I can tell of QGIS, if I can find a solution to this, it will make batch conversion between datums much quicker. Many of the coordinate files that I receive are in .csv format and QGIS seems like the perfect application for what I need, however, I'm hoping that someone that has more experience can point me in the right direction.

Thanks in advance for any and all replies, Jeff M

share|improve this question
    
Exactly which datums did you pick in Taylor's tool? They're linked to particular 3-parameter transformations and using the Abridged Molodensky method. QGIS is likely using different transformations. Meanwhile, I can't match either set with NADCON- or NTv2-based which are more accurate file-based ones. –  mkennedy Jun 20 '13 at 17:49
    
The datum that I chose for the original coordinates was 'North American 1983 Datum, Canada' and for the converted coordinates, I used 'North American 1927 Datum, Canada (Northwest Territories, Saskatchewan). If I use the default of WGS84 for the input coordinates, it gives me the same output coordinates. –  Jeff M Jun 20 '13 at 21:15
    
Also, on the subject of the NTv2, I have a copy of the saskntv2.gsb file from an old command-line based conversion tool we used to use. Is it possible to use that .gsb file inside QGIS? –  Jeff M Jun 20 '13 at 21:25
    
Based on what I read in below link, yes. I'm not a QGIS person though. Another page makes me wonder if that file is just the Saskatchewan area extracted from the nat'l file: Ntv2_0.gsb. The datum chosen in Taylor's tool links to EPSG:1182, NA27 to WGS 84 (13). hub.qgis.org/issues/3099 –  mkennedy Jun 20 '13 at 21:48
    
I had a quick read-through of that link, and it's admittedly a little over my head as a QGIS user of only 2 days. I'll keep watching this thread and perhaps others users can point me in the right direction. Thanks for your insight!! –  Jeff M Jun 20 '13 at 22:20
show 4 more comments

1 Answer

If you just want to convert coordinates from one CRS to another, the GDAL Tool cs2cs does what you want in an easy way. QGIS uses the same library in the background, so you will get the same results.

GDAL uses the PROJ4 library to convert CRS and datums, so this is where to look up what is actually calculated.

For converting NAD27 to NAD83 and WGS84, PROJ uses a ntv2 grid, which should give best results (at least better than 3-parameter-Molodensky). Internally, the following nadgrids are combined for NAD27:

@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat

You will find the source code for that here:

https://github.com/tracyharton/Proj4/blob/master/pj_datums.c


Doing some calculations with cs2cs, I have put -101.742026 49.362977 in a textfile WGS84.txt (note that cs2cs wants East first!)

and created the follwing batch:

@echo off

echo WGS84-NAD27 >out.txt
cs2cs +init=epsg:4326 +to +init=epsg:4267 WGS84.txt >>out.txt
echo WGS84-NAD27UTM13>>out.txt
cs2cs +init=epsg:4326 +to +init=epsg:26713 WGS84.txt >>out.txt
echo WGS84-NAD27UTM14>>out.txt
cs2cs +init=epsg:4326 +to +init=epsg:26714 WGS84.txt >>out.txt

echo WGS84-NAD83 >>out.txt
cs2cs +init=epsg:4326 +to +init=epsg:4269 WGS84.txt >>out.txt
echo WGS84-NAD83UTM13>>out.txt
cs2cs +init=epsg:4326 +to +init=epsg:26913 WGS84.txt >>out.txt
echo WGS84-NAD83UTM14>>out.txt
cs2cs +init=epsg:4326 +to +init=epsg:26914 WGS84.txt >>out.txt

echo WGS84-WGS84UTM13>>out.txt
cs2cs +init=epsg:4326 +to +init=epsg:32613 WGS84.txt >>out.txt
echo WGS84-WGS84UTM14>>out.txt
cs2cs +init=epsg:4326 +to +init=epsg:32614 WGS84.txt >>out.txt

echo WGS84UTM13-NAD27UTM13>>out.txt
cs2cs +init=epsg:32613 +to +init=epsg:26713 WGS84UTM13.txt >>out.txt
echo WGS84UTM14-NAD27UTM14>>out.txt
cs2cs +init=epsg:32614 +to +init=epsg:26714 WGS84UTM14.txt >>out.txt

echo WGS84UTM14-NAD27UTM13>>out.txt
cs2cs +init=epsg:32614 +to +init=epsg:26713 WGS84UTM14.txt >>out.txt
echo WGS84UTM13-NAD27UTM14>>out.txt
cs2cs +init=epsg:32613 +to +init=epsg:26714 WGS84UTM13.txt >>out.txt

echo done
pause

Running the latest build of gisinternals GDAL, I get the follwing output:

WGS84-NAD27 
101d44'29.704"W 49d21'46.681"N 0.000
WGS84-NAD27UTM13
736580.51   5472694.86 0.00
WGS84-NAD27UTM14
300939.78   5471202.67 0.00
WGS84-NAD83 
101d44'31.294"W 49d21'46.717"N 0.000
WGS84-NAD83UTM13
736540.76   5472913.41 0.00
WGS84-NAD83UTM14
300914.20   5471423.83 0.00
WGS84-WGS84UTM13
736540.76   5472913.41 0.00
WGS84-WGS84UTM14
300914.20   5471423.83 0.00
WGS84UTM13-NAD27UTM13
736580.51   5472694.85 0.00
WGS84UTM14-NAD27UTM14
300939.77   5471202.68 0.00
WGS84UTM14-NAD27UTM13
736580.51   5472694.86 0.00
WGS84UTM13-NAD27UTM14
300939.78   5471202.67 0.00

For the UTM to UTM conversion, I created the corresponding input files form a first round of output.

Here you see the points (and yours in red) in QGIS: NAD points

So, what went wrong for you? First you used a less accurate transformation, which gives an offset of around 5 metres. Reprojecting increases the offset, and your target is actually in Zone 14. That leads to an offset of 32 metres in Zone 13.

share|improve this answer
add comment

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.