judgej / Proj4

Experiments in a Proj4 reboot
MIT License
3 stars 0 forks source link

Map out translation process #1

Open judgej opened 9 years ago

judgej commented 9 years ago

2015-10-05 11 29 14

The attached sketch shows the process from top left, going clockwise. I started off defining the process for a datum shift alone, then realised much of what happens in the datum shift is dictated by the parameters of the source and destination projections.

Things to note are:

Another thing that has confused me, that I would like clarified, is where ellipsoids are defined. A projection has a datum and usually an ellipsoid defined in its "def". A datum also has an ellipsoid defined in its parameters. So do the two always agree? Should a projection ellipsoid override a datum's ellipsoid? Or is it listed in the "def" details just as a bit of human-readable information?

judgej commented 9 years ago

Hmm, a datum consists of an ellipsoid and a set of location and optional rotational mappings.

For geocentric (x, y, z) points the ellipsoid of the datum is not important; a Cartesian set of coordinates does not reference any ellipsoid or shape of any form - it is just a point in space from a "centre". It is only when converting to a geodetic (lat/log/height) point that we care about the ellipsoid details.

So maybe a geocentric point does not have a datum - it just has translation (x, y, z, rotation and scale) parameters. This collection of mappings does not have a collective name, and that is why "datum" is used, and also why an ellipsoid is defined outside of the datum in the proj4 def strings.

So I think we have a geodetic datum, with translation parameters and an ellipsoid. We also have a geocentric datum with just translations parameters, since the ellipsoid is meaningless to a Cartesian coordinate. This has been confusing me for ages, and this dhoh! moment kind of clarifies things a little. Unfortunately, while I think there are two different types of datum (with the same name in Proj.4), the Proj.4 systems in operation don't see it that way. Or I'm just totally wrong! Who knows...