I'm trying to calculate velocity components in the X and Y direction given two points:

P0 = (Lat0,Lon0,Time0)


P1 = (Lat1,Lon1,Time1)

The points are pretty close together so the components at P0 should be very similar to the velocity components at P1 (not expecting great line weirdness).

I'm familiar with the Haversine method: calculate the Haversine distance, calculate the starting bearing, use trigonometry to get x and y distance and divide by time. That seems a little overkill and computationally expensive.

Is there a simpler way to estimate velocity components without doing all the expensive trig calculations that would be required to calculate distance and bearing?


It's pretty damn simple...

Vx = radians(Lon1 - Lon0) * R / (Time1 - Time0) 


Vy = radians(Lat1 - Lat0) * R / (Time1 - Time0)

where R is radius of Earth.

Treat each component as it's own arc length and do some basic geometry. Not sure whether this is 100% accurate but it'll do for now.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.