The only other way that I can see would theoretically work is to work out the velocities by Doppler shift but with satellites literally all over the place I don't think that would work.
It does..
Interesting.
Is there anyway you could explain that without me having to have Graduate Physics/Maths.
Probably, if I understood it well enough, which I don't! But here's a go.
The Velocity problem is a step up in complexity from the Position problem.
Say with DME, we are familiar with how the distance readout from 1 DME gives us a position line (a circle in fact), 2 DME give us 2 possible positions and a 3 DME gives us an unambiguous position solution.
In GPS, we need 4 range spheres from 4 satellites to get 3D position fix and a solution for the clock error in the receiver.
Now let's go back to DMEs and the velocity problem
Instead of the DME range and unknown position, we look at the DME groundspeed readout S (to/from the station), and the unknown Track T of the aircraft and unknown speed G along that track (ie. T and G are the aircraft velocity)
The relationship between these is S = G cos a, where a is the angle between the track T and the bearing to the DME station.
You can see how the DME speed S gives us something analogous in Velocity terms to the DME position circle - for a given S, we could be flying right at the DME, in which case S=G and T=a, or we could be flying a bit away from it, in which case G is a bit higher than S and a is a bit more or less than T etc.
If the position of the aircraft is known, then it's fairly simple to solve for Velocity (G and T) with more DME stations and speed readouts - I think it takes 3 for an unambiguous velocity. If the position of the aircraft isn't known, then I'm not sure but I think with more stations it must be possible to solve.
Translate this to GPS and satellites moving about in 3D just as we did for the position solution: but what is the GPS equivalent of the DME's pulse method for speed? It's doppler. Your GPS knowns from the almanac the position and velocity of the satellites. It has an oscillator which generates the standard GPS L1 carrier frequency. It compares that with the L1 frequencies it's getting from various satellites to work out it's speed to/from each of those. It then solves for velocity using a method analogous to the above.
Of course, in the DME example, the same pulse data is being used for range and speed - so the velocity explanation above is just a way of doing the rate of change of position. However, the doppler method in GPS is inherently different from the GPS position data based on time-shift of the L1 signal - it's based on frequency shift. I don't really know in practice which boxes use which method, I suspect adavanced ones may use a combination of both.
brgds
421C