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

getting one of the closest point for Closest::Indeterminate #1167

Open
kraktus opened this issue Apr 3, 2024 · 2 comments
Open

getting one of the closest point for Closest::Indeterminate #1167

kraktus opened this issue Apr 3, 2024 · 2 comments
Labels

Comments

@kraktus
Copy link

kraktus commented Apr 3, 2024

Hello, thanks for the great lib!

When using geo::algorithm::closest_point::ClosestPoint, is there a one of the closest point when the result is Closest:: Indeterminate? If defined

@michaelkirk
Copy link
Member

I'm sorry but I don't understand your question. Can you try to rephrase it or give a more specific example?

The docs for Indeterminate if you haven't seen them: https://docs.rs/geo/latest/geo/enum.Closest.html#variant.Indeterminate

@kraktus
Copy link
Author

kraktus commented May 15, 2024

Sorry, some words got missing in my issue. When there is an "infinite number of closest points", is there a way a method that retrieves one of those?

My real use case was:

  • I want to compute the haversine distance between a point and a polygon, but since it is not defined, I approximate it by
  • Computing the closest point between the polygon and the point
  • computing the haversine distance between one polygon and the closest point of the polygon

extract from my code

// licence: AGPLv3
            let arp_pt = airport.to_point();
            let Closest::SinglePoint(closest_point) = polygon.closest_point(&arp_pt) else {
                panic!("no closest point")
            };
            let distance_m = arp_pt.haversine_distance(&closest_point) as usize;

In case of of Indeterminate, I would be fine with any one of closest points. For now I bailed out, fortunately it didn't happen in practice

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

No branches or pull requests

2 participants