[gdal-dev] UTM local correction for height and distance-to-reference-meridian ?

Greg Troxel gdt at lexort.com
Tue Jan 21 05:08:01 PST 2025


Peter Bennewitz via gdal-dev <gdal-dev at lists.osgeo.org> writes:

> To get exact distances between local points, UTM requires a correction
> factor, depending on local height and distance to the UTM reference
> meridian. Mainly due to UTM's 6deg steps, - as opposed to the smaller
> 3deg of GK, where this correction could have been neglected.

The concept of UTM is that one has coordinates in meters which
correspond to physical distances, so that one can use cartesian distance
in UTM to get distances between points along the surface, with mostly
ignorable errors from scale factors.   But, if you're e.g. trying to
compare RTK-derived GNSS positions with distances from a total station,
it's not ignorable.

This concept is called "combined factor" by US NGS.  This tool only
works in the US, probably, but

  https://www.ngs.noaa.gov/NCAT/

  I put in (lat first) 42.6 -73.2, 1000m, which is very roughly "Mount
  Greylock" in Western Mass, after changing to "horizontal plus height".

  I pushed convert.

  scale factor is 0.99986827
  combined factor is 0.99971148

At 5000m

  scale factor is 0.99986827
  combined factor is 0.99908483

I think that's grid distance divided by physical distance.  I believe
the first is on the ellipsoid, and the second is for the given height.

> What would be the advised way to handle this in GDAL ?  Or a good
> keyword to find this in the GDAL doc ?  "local coordinates" maybe ? Or
> convert the dataset to the older GK and just use that ?

Yes, one could convert to a local CS, but you'd have to compute the
scale factor for the local CS to be based on height.   That's just
HAE/(HAE+local_radius).

It would be nice for projections that aim to be in meters to have a
function that returns both scales for a given horizontal+height input.
That would let Peter just divide (multiply?  too early!) all EN
coordinates by the combined factor to get something which is UTM but
with a different scale so that the combined factor for the area of
interest -- in both EN and U -- is 1.  Alternatively, only do this to
computed distances.

> My current idea is be to transform an area of 10km x 12km to XYZ
> coordinates that closely match 'field measurable' distances between
> two points.

Variables are just names but that makes it sound like geocentric
coordinates, when I would expect you'd want ENU.

This is what others are suggesting, but you'll need to set the scale to
deal with your project's average/typical height.

I think people are steering you to geodesic length on the ellipsoid,
which is not what you are measuring at terrain.


More information about the gdal-dev mailing list