Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add projection scale factor due to elevation #3839

Open
jjimenezshaw opened this issue Jul 26, 2023 · 3 comments
Open

Add projection scale factor due to elevation #3839

jjimenezshaw opened this issue Jul 26, 2023 · 3 comments

Comments

@jjimenezshaw
Copy link
Contributor

jjimenezshaw commented Jul 26, 2023

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
Copy link
Contributor Author

I did this during holidays, so probably it passed unnoticed. #3949 reminds me its existence.

@rouault
Copy link
Member

rouault commented Nov 10, 2023

For API and ABI backward compatibility reasons, we likely need a new function( pj_factors_3D ?) and a new structure (FACTORS3D ?), likely extending the existing FACTORS one.

I've not enough background to give hints on the naming of the new parameter and combined scale factor. Perhaps @busstoptaktik or @cffk have some opinions on the subject.

@cffk
Copy link
Contributor

cffk commented Nov 10, 2023

I've just given Dennis's paper a quick read. I don't have much to contribute here. There should be some acknowledgement that if a conformal projection on the reference ellipsoid is lifted up onto a surface of constant elevation, then it is no longer conformal. So I would go along with the suggestion of @jjimenezshaw to adopt a "combined scale factor" nomenclature.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants