[GRASS5] datum conversion problems

Paul Kelly paul-grass at stjohnspoint.co.uk
Sun Nov 27 12:34:27 EST 2005


Hello Roger

Roger Miller wrote:

[...]
> About 3 years ago I adapted the grass [rsv].proj programs to do the nad27 <-> 
> nad83 conversion.  I recall that at that time I benchmarked the process 
> against the NGS software.  Subsequently the [rsv].proj modules were modified 
> to perform more general transformations using the pj_transform function in 
> the Proj library.  The pj_transform function returns results that are 
> different from the results returned by nad2nad, or the NGS software.
> 
> My first question is probably more appropriate for the Proj developers, but 
> I'll ask it here first, hopefully avoiding the need to join Yet Another 
> Mailng List.  Which provides the more correct result for converting nad27 to 
> and from nad83, nad2nad.c or pj_transform?

Frank Warmerdam implemented pj_transform() in PROJ.4 as a more general 
wrapper around various datum transformation functions, the stuff in 
nad2nad.c being one of them. From 5.3.0 on I changed GRASS to use this 
function internally when re-projecting in order to handle datum 
transformations in a more general manner. Which functions are used 
depends on the contents of the PROJ_INFO files for your two locations. 
It might shed some light if you can post them here (for both locations). 
Use g.projinfo in 5.3 or g.proj -p in 6.x

In particular, make sure you have the line
nadgrids: conus
in your NAD27 location. That's the only think I can think that would 
have changed the functionality; see the warning at the end of the 5.3.0 
release announcement 
http://www.geog.uni-hannover.de/grass/announces/announce_grass530.html

(copied below for convenience)

Note on changes in datum transformation functionality for locations 
using the 'nad27' and 'nad83' datums

Released versions of GRASS 5.0.x from 5.0.0pre4 onward (i.e. up to and 
including 5.0.3) have included the capability to perform NAD27<-->NAD83 
datum conversions. This was done using the published NADCON conversion 
tables, if and only if the line 'datum: nad27' appeared in the PROJ_INFO 
file for one location and 'datum: nad83' in the other. Even if datum 
transformation parameters were specified (e.g. dx, dy, dz) they were 
ignored and the NADCON tables used. In GRASS 5.3 any datum 
transformation parameters present in the PROJ_INFO file will be used. 
These are likely to be less accurate than the NADCON transformation 
(unless g.setproj is re-run for the location and the NADCON parameters 
specifically selected). Many more datum transformation options are 
available in this release of GRASS and g.setproj should be re-run if in 
any doubt that the location is using the most up-to-date datum parameters.

> My second question regards CVS.  I wanted to reconstruct the old 5.0 versions 
> of v.proj so that I might review the method I used and confirm its results.  
> The HTML gateway to CVS shows information for the old version, but that 
> program refers to functions that aren't present in the code or in the proj 
> library.  Could that code have been lost from CVS?

5.0.3 is the most recent version to still contain the nad27 <--> nad83 
only datum transformation functionality. You should be able to check it 
out from CVS as follows:
cvs -z3 co -r release_03_11_2003_grass5_0_3 grass

Good luck
Best regards

Paul




More information about the grass-dev mailing list