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

Unify line measures #1216

Merged
merged 11 commits into from
Oct 8, 2024
Merged

Unify line measures #1216

merged 11 commits into from
Oct 8, 2024

Commits on Sep 25, 2024

  1. Unify line measures

    All of these algorithm implementations already existed, but I'm
    proposing a new way to organize them which I hope will be more
    consistent and discoverable.
    
    Note: The new Haversine::bearing and Geodesic::bearing return 0..360,
    the legacy traits HaversineBearing and GeodesicBearing returned
    -180..180
    
    Additional changes:
    
    Deleted the deprecated `Bearing` trait which was previously superceeded
    by the unambiguous `HaversineBearing` trait, but now is re-defined as
    `Haversine::bearing`
    
    = Future Work =
    
    In an effort to minimize this PR, while keeping the change reasonably
    coherent, I've left some things out
    
    == Methods on Euclidean ==
     -[ ] bearing (doesn't currently exist)
     -[ ] destination (doesn't currently exist)
     -[ ] intermediate (exists, but InterpolatePoint trait also needs intermediate_fill)
     -[ ] intermediate_fill (doesn't currently exist)
    
    == Deprecate Legacy Traits ==
     -[ ] Deprecate Legacy impls
     -[ ] Switcheroo the actual implementation: move the actual implementation to the new traits, and have the legacy traits delegate to the new traits.
     -[ ] Move over any tests from the legacy implementation to the new home
    
    == Methods on Geoms (Future PR) ==
     -[ ] Length
         -[ ] Haversine
         -[ ] Rhumb
         -[ ] Geodesic
         -[ ] Euclidean
     -[ ] Densify
         -[ ] Haversine
         -[ ] Rhumb
         -[ ] Geodesic
         -[ ] Euclidean
    
    FIXES #1210
    FIXES #1181
    michaelkirk committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    c54af80 View commit details
    Browse the repository at this point in the history
  2. bump MSRV to 1.75 to support "return-position impl Trait in trait"

    This is needed for the "Unify line measures" work.
    michaelkirk committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    0f184d1 View commit details
    Browse the repository at this point in the history
  3. Doc fixups

    michaelkirk committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    5ae5890 View commit details
    Browse the repository at this point in the history
  4. test tolerances

    michaelkirk committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    8446610 View commit details
    Browse the repository at this point in the history
  5. fixup! Doc fixups

    michaelkirk committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    6ecd4d3 View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2024

  1. Configuration menu
    Copy the full SHA
    e28647e View commit details
    Browse the repository at this point in the history

Commits on Sep 28, 2024

  1. Configuration menu
    Copy the full SHA
    01eb36c View commit details
    Browse the repository at this point in the history
  2. fixup! Doc fixups

    michaelkirk committed Sep 28, 2024
    Configuration menu
    Copy the full SHA
    61783e1 View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2024

  1. Configuration menu
    Copy the full SHA
    032b94d View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2024

  1. Configuration menu
    Copy the full SHA
    0b8c444 View commit details
    Browse the repository at this point in the history
  2. fixup: impl Interpolate for CoordFloat, not just f64

    This was a copy/paste error from the impl on Geodesic which truly does
    only support f64 - for Haversine and Rhumb though, we can support any
    CoordFloat+FromPrimitive
    michaelkirk committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    58d4e28 View commit details
    Browse the repository at this point in the history