[GRASS-dev] v.proj transforming z co-ordinates
Paul Kelly
paul-grass at stjohnspoint.co.uk
Wed Dec 6 13:43:14 EST 2006
On Tue, 5 Dec 2006, Maciej Sieczka wrote:
> Paul,
>
> Summarising:
>
> Could you please confirm/deny the 2 statemements below - so that I'm
> sure I'm not screwing/missunderstanding something:
>
> 1. The -z switch is not the default; but it *was* - before you made it
> and option few months ago.
Yes. There used to be no way to avoid that effect. Now you have to
explicitly enable it.
> 2. One should use it only when his data is 3D, he is sure the Z coord
> is an an ellipsoidal height, and he is transforming between 2 different
> ellipsoids.
No - even then you should not use it. In fact I can't think of any reason
why anybody would want to use it under normal circumstances, and IMHO it
was a very serious bug that it was the default before. GPS receivers often
output WGS84 ellipsoidal height. In general you want to keep the height in
that datum rather than transfer it to another ellipsoid. Generally
different ellipsoids are used only for 2-D projection and the height above
the ellipsoid is not considered - a separate vertical datum, often based
on sea level or something like that is used for height measurements.
An example: in Northern Ireland the Ordnance Survey NI (national mapping
agency) publishes a set of gridded values that represent the average
height differential between WGS84 ellipsoidal height and Mean Sea Level
Belfast (the common local vertical datum) at each point. This can thus be
used to convert GPS measurements to the local geoid-based MSL Belfast
vertical datum. Ellipsoidal height above the Modified Airy ellipsoid (used
for Irish Grid 2-D positions) is not relevant at all.
> 3. Even if the Z coord of my vector is an ellipsoidal height, using -z
> is not supposed to make any change when transformimg between eg.
> UTM/WGS84 and ll/WGS84; *it doesn't do any harm though*.
No it shouldn't do any harm, although this is a matter/question for PROJ.4
and not for GRASS - GRASS just uses the PROJ pj_transform() function and
the transformation happens in there.
> I know I'm slow on this, but please bear with me :). I don't want to
> mess something up in future with my data or advise something stupid to
> others.
I understand - this is an important issue and does not seem to be
discussed very widely so it is good that we are doing so here.
Paul
More information about the grass-dev
mailing list