[GRASSLIST:1997] Re: v.proj bug?

Paul Kelly paul-grass at stjohnspoint.co.uk
Tue Dec 9 03:48:22 EST 2003


A few more comments below:

David Orme wrote:
> 
> Hamish - thanks for the quick (and authoritative!) suggestions - I'm
> working with a 1982 atlas of New Zealand bird distributions mapped at a
> 10,000yd resolution on the old SI/NI grids.
> 
> I've run those test points through concord and get something very
> similar (but not identical to) the values from NZPointConverter
> (http://www.ualberta.ca/~norris/gps/nz/NZPointConverter.SIT.hqx) - they
> also match closely to a printed grid and ArcMap:
> 
> LatLong
> 166 27 28.0 E 46 00 55.0 S Cape_Providence
> 173 01 05.1 E 40 33 28.8 S Farewell_Spit
> 
> NZPointConverter
> 72976 E 241337 N Cape_Providence
> 640603 E 916716 N Farewell_Spit
> 
> Concord
> 72974.8 E 241330.6 N Cape_Providence
> 640602.0 E 916716.1 N Farewell_Spit
> 
> So it looks certain that [GRASS] / [my usage of GRASS and cs2cs]
> (delete as applicable) is going astray.
> 
> To be clear about the origin of the test points - these are coordinates
> taken from a downloaded DCW e00; the PRJ section identifies a Clarke
> 1866 spheroid but no datum - I think ArcMAP imposes an assumed NAD27
> datum. I can't get cs2cs to convert NAD27 to NZGD49 (using the datum
> grid definition Hamish referred to):
> 
> > [doibook:~] dorme% cs2cs +proj=latlong +datum=NAD27 +to +proj=tmerc
> > +ellps=intl +nadgrids=nzgd2kgrid9911.asc +units=yd +lat_0=44S
> > +lon_0=171.5E +x_0=500000 +y_0=500000
> > 166d27'28.0E 46d00'55.0S
> > 173d01'05.1E 40d33'28.8S
> > *       * 0.00
> > *       * 0.00

+datum=NAD27 expands to '+ellps=clrk66 +nadgrids=conus,ntv1_can.dat',
i.e. it is using conversion tables for the conterminous USA and Canada.
These don't cover the area your points are in, so cs2cs refuses to do
the projection.


> 
> If I just specify the NAD27 ellipsoid (clarke 1866) and shift to the
> South Island grid using NZGD49 (rather than just the international
> spheroid as before) then the point are no closer to the reference
> values above from concord:
> 
> > [doibook:~] dorme% cs2cs +proj=latlong +ellps=clrk66 +to +proj=tmerc
> > +ellps=intl +towgs84=54.4,-20.1,183.1 +units=yd +lat_0=44S
> > +lon_0=171.5E +x_0=500000 +y_0=500000
> > 166d27'28.0E 46d00'55.0S
> > 173d01'05.1E 40d33'28.8S
> > 119762.12       288494.13 -257.34
> > 687428.17       963890.56 -243.43

This won't do anything as you need to have datum parameters specified
for both the input and output projections for a datum shift to take
place. Datum transformation parameters are specific both to (a) a given
ellipsoid and (b) a part of the world / effective region. (c), that the
parameters transform from that ellipsoid to WGS84 is assumed.

What you need to do is find some parameters (most likely a 3-parameter
or 7-parameter shift) from clark66 to WGS84 *that applies to the region,
i.e. New Zealand, that your data points are in*. And then append this to
'+proj=latlong +ellps=clrk66' and keep your +nadgrids=nzgd2k.... (it is
fine to have a towgs84 option for one datum and a nadgrids for the
other).




More information about the grass-user mailing list