1. Apr 12, 2004

kirk

Hi, any advice out there on an interesting challenge (at least a challenge for me :-)?

I am trying to come up with the easiest way to calculate the shortest distance between a single point and an arbitrary line. I want to start with lattitude and longitude coordinates for single point and for the endpoints of line segment.

It is a straightforward calculation to get the distance from the single point to the end points of the line segment using the lat/long.

But sometimes the shortest distance will be a perpendicular path to the line segment. I'm rusty on my geometry and not seeing the simple way of doing the calculations. is the answer just in rotation and translation of coordinates?

Any advice or tips out there?

2. Apr 12, 2004

Chen

If the line is Ax + By + C = 0 and the point is (m, n) then the distance is:

$$d = |\frac{Am + Bn + C}{\sqrt{A^2 + B^2}}|$$

Or are you talking about a different method?

3. Apr 12, 2004

HallsofIvy

Staff Emeritus
"It is a straightforward calculation to get the distance from the single point to the end points of the line segment using the lat/long."

lat/long? Are you talking about the distance from a point on a sphere to a great circle?

"But sometimes the shortest distance will be a perpendicular path to the line segment."
I would have thought it was always on a perpendicular path!

4. Apr 12, 2004

matt grime

IF the line has end points there may not be a perpendicular that passes through the point off the line.

5. Apr 12, 2004

kirk

clarifications

good clarification questions.

yes, HallsofIvy, for the distance between two points, I was talking about great circles. I have used some formulas I found to get the distance between the two points using lattitude and longitude measures.

My concern is the shortest distance between the single A point and any point on the line segment BC.

As Matt points out, because of the end points of the line segment, there is not always a perpendicular. However, in that case, I will just use the great circles formula to get the distance to the nearest end point.

My big problem is thinking through how to calculate the distance from A to the randomly specified line segment BC when starting with the lattitude and longitude coordinates. Since the BC can have any orientation, I'm still struggling with a way to set up the formulas.

Thanks folks!

6. Apr 12, 2004

kirk

My big problem with the situation when there is a perpendicular. How do I calculate the distance from A to the randomly specified line segment BC when starting with the lattitude and longitude coordinates? Since the BC can have any orientation, I'm still struggling with a way to set up the formulas.

I'm trying to think through rotations and translation of coordinates because it seems to just like dropping a perpendicular from above an axis, but I'm too rusty with it. And then doing it starting with lattitude and longitude.

thanks!