<div dir="ltr">Charles, <div><br></div><div>I did an implementation of your work on auxiliary latitudes for use in<div>Rust Geodesy (<a href="https://crates.io/crates/geodesy">https://crates.io/crates/geodesy</a>).</div><div><br></div><div>I found your work exceptionally clearly written and very easy to</div><div>transform into code.<div><br></div><div>My implementation is primarily in these four files:</div><div><br></div><div><a href="https://github.com/busstoptaktik/geodesy/blob/main/src/ellipsoid/latitudes.rs">https://github.com/busstoptaktik/geodesy/blob/main/src/ellipsoid/latitudes.rs</a><br></div><div><a href="https://github.com/busstoptaktik/geodesy/blob/main/src/ellipsoid/constants.rs">https://github.com/busstoptaktik/geodesy/blob/main/src/ellipsoid/constants.rs</a><br></div><div><a href="https://github.com/busstoptaktik/geodesy/blob/main/src/math/mod.rs">https://github.com/busstoptaktik/geodesy/blob/main/src/math/mod.rs</a><br></div><div><a href="https://github.com/busstoptaktik/geodesy/blob/main/src/inner_op/latitude.rs">https://github.com/busstoptaktik/geodesy/blob/main/src/inner_op/latitude.rs</a><br></div><div><br></div><div>The first 3 comprise the implementation per se, while the fourth is an</div><div>implementation of a generic coordinate operator (think proj=latitude...),</div><div><br></div><div>The manual for the operator is at</div><div><a href="https://github.com/busstoptaktik/geodesy/blob/main/ruminations/002-rumination.md#operator-latitude">https://github.com/busstoptaktik/geodesy/blob/main/ruminations/002-rumination.md#operator-latitude</a></div><div><br></div><div>Rust Geodesy is, if anyone should be interested, a tiny</div><div>transformation system, intended as a platform for</div><div>architectural and conceptual experiments,</div><div>potentially as inspiration for future developments of PROJ.</div></div><div><br></div><div>/Thomas</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Den man. 13. mar. 2023 kl. 15.12 skrev Charles Karney <<a href="mailto:charles.karney@gmail.com">charles.karney@gmail.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Two papers which may be of interest to PROJ users are available as<br>
preprints:<br>
<br>
   C. F. F. Karney<br>
   On auxiliary latitudes (Dec. 2022)<br>
   <a href="https://arxiv.org/abs/2212.05818" rel="noreferrer" target="_blank">https://arxiv.org/abs/2212.05818</a><br>
<br>
   C. F. F. Karney<br>
   The area of rhumb polygons (Mar. 2023)<br>
   <a href="https://arxiv.org/abs/2303.03219" rel="noreferrer" target="_blank">https://arxiv.org/abs/2303.03219</a><br>
<br>
The first is of more immediate interest in the PROJ context...  A case<br>
could be made that all the conversions between auxiliary latitudes in<br>
PROJ should be centralized and should support both series approximations<br>
(fast and applicable to small flattening) and exact methods (slower and<br>
applicable to arbitrary eccentricity).<br>
<br>
I would single out the current treatment of authalic latitude in area<br>
preserving projections as most in need of some loving case.  These all<br>
end up determining the authalic latitude by taking the arc sine of the<br>
value returned by pj_qsfn (normalized).  This results in a severe loss<br>
of accuracy near the poles.<br>
<br>
The second paper implements solutions to rhumb problems in terms of<br>
auxiliary latitudes.  This could be used to provide an ellipsoid<br>
generalization of the loximuthal projection (but I'm not sure whether<br>
this is a pressing need).<br>
<br>
Note that I'm careful to use the subjunctive mood here (should, would,<br>
...).  I don't have the time to undertake the suggested changes to PROJ<br>
myself; but I would be happy to guide someone else (perhaps these are<br>
suitable student projects?).<br>
<br>
-- <br>
Charles Karney <<a href="mailto:charles@karney.com" target="_blank">charles@karney.com</a>><br>
702 Prospect Ave<br>
Princeton, NJ 08540-4037<br>
_______________________________________________<br>
PROJ mailing list<br>
<a href="mailto:PROJ@lists.osgeo.org" target="_blank">PROJ@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/proj" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/proj</a><br>
</blockquote></div>