busstoptaktik / geodesy

Rust geodesy
Apache License 2.0
63 stars 6 forks source link

Trait based refactor of Ellipsoid #110

Closed busstoptaktik closed 2 months ago

busstoptaktik commented 2 months ago

The Ellipsoid impl was huge and unmaintainable.

Now it has been split into an EllipsoidBase trait, defining the fundamental shape and size parameters, and a number of more specialized traits for latitudes, meridian-geometry, geodesics, cartesians (geocart), and gravity.

Also lib.rs was cleaned up to reflect the new structure, and the prelude has been rebuilt using thematical modules: coord, ctx, and ellps, representing coordinate, context, and ellipsoidal material, respectively.

Likewise, the "authoring" extended prelude has been restructured through the introduction of the grd, ops, and parse modules.

Finally, a number of documentation improvements were introduced while refactoring the existing material to reflect the new structure.

For usage based on the "use geodesy::prelude::*" idiom, no user visible changes are expected.