PROJ icon indicating copy to clipboard operation
PROJ copied to clipboard

Add projection scale factor due to elevation

Open jjimenezshaw opened this issue 11 months ago • 3 comments

Reading this paper from Michael Dennis (thanks Michael for the link ;) you can see that to get a "complete" computation of the linear distortion the elevation should be taken into consideration.

https://www.fig.net/resources/proceedings/fig_proceedings/fig2023/papers/cinema03/CINEMA03_dennis_12044.pdf

In the formula 𝛿 = 𝑘 (𝑅𝐺 / (𝑅𝐺 + ℎ)) − 1 PROJ already can compute 𝑘 with proj CLI or proj_factors C method. However the scale factor component due to the elevation is not computed.

Should we include that functionality in proj_factors? (I am happy to make a PR. Before that I would like to agree on some points). RG is the Gaussian radius, easy to compute. h is the ellipsoidal height. It should be provided in the variable "PJ_COORD lp" (in meters)

a) Should I add a new parameter to PJ_FACTORS ? (I do not know how big the impact of such a change is) b) How should I name it? it is a horizontal "scale" due to elevation (see that the elevation is not scaled). c) Should I add a "combined scale factor"?

If a) is no, should I implement it in a different way?

The "combined scale factor" could be sqrt(parallel_scale * meridional_scale) * horizontal_due_to_elevation_scale. This combined or global scale factor could be a strange thing in a non-conformal projection. But most of the projections used in surveying are conformal or are really close to the projection center so parallel_scale and meridional_scale are very similar.

Any comments?

Thanks.

jjimenezshaw avatar Jul 26 '23 14:07 jjimenezshaw