Преобразование геодезических координат в прямоугольные (цитата из ГОСТ Р 51794-2001):
X = (N + H) * cos(B) * cos(L)
Y = (N + H) * cos(B) * sin(L)
Z = ((1 - e ^ 2) * N + H) * sin(B)
где X, Y, Z — прямоугольные координаты точки;
B, L, H — геодезические координаты точки (соответственно широта и долгота, рад, и высота, м);
N — радиус кривизны первого вертикала, м;
e — эксцентриситет эллипсоида.
N = A / sqrt(1 - e ^ 2 * (sin(B)) ^ 2)
e ^ 2 = 2 * a - a ^ 2
где A — большая полуось эллипсоида, м;
a — сжатие эллипсоида.
Для эллипсоида GRS80 (датум WGS84):
A = 6378137
a = 1 / 298.257223563
Для эллипсоида Красовского (1940):
A = 6378245
a = 1 / 298.3
Если нужно расстояние по поверхности эллипсоида, то ищи тут:
http://gps.boston.ru/cgi-bin/forum/showpost.pl?Board=gpsgeneral&Number=13986&Search=true&Forum=gpsgeneral&Words=%E0%E2%F1%F2%F0%E0%EB%E8%E9&Match=Entire%20Phrase&Searchpage=0&Limit=256&Old=allposts