I'm attempting to simulate a GPS message where know variables are starting location, ending location, speed (m/s), and a bearing (0 - 359 degrees). How can I calculate the ECEF X, Y, Z velocities with this information when I am not tracking any satellites.
-
Don't you also need a time variable?– blah238Mar 12, 2012 at 21:44
-
2Usually this is done by subtracting the start from the stop point (as [X,Y,Z] vectors) and dividing by the time elapsed to obtain the velocity. Is there something special about your data that would make it any more complicated than that? (E.g., maybe the travel was not in a Euclidean straight line, but along a spherical geodesic.)– whuberMar 12, 2012 at 21:44
-
I'm attempting to calculate the XYZ velocity and give that data to another system. That system somehow is able to display its bearing and speed (km/hr) from my calculated data. I know what the speed and bearing is suppose to be, but the remote system displays otherwise, so I'm trying to make sure that I'm calculating correctly or if the remote system is processing it incorrectly.– Shar1er80Mar 12, 2012 at 22:04
-
1Because you provide two locations, at which one do you wish to compute the velocities? Also, in what coordinate system is the bearing given? (If it's based on a projected system, a correction to a true bearing may be needed.)– whuberMar 14, 2012 at 17:12
-
1Numbers would help– mhoran_psprepMar 14, 2012 at 23:20
1 Answer
Assume that the motion is on the surface of the earth.
You have too much information. Given Position 1 and position 2 and the knowledge that you are following a great circle, you can calculate the bearing and distance using the formulas given in the Aviation Formulary
You were given you the speed in meters/second. You can calculate the XYZ for the two points. Use the delta x, delta y, and delta z, and the time to move from point a to point b to calculate the velocity components.