powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как получить расстояние между городами? (Мира)
6 сообщений из 6, страница 1 из 1
Как получить расстояние между городами? (Мира)
    #39272890
Алиса С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может через API карт Google или других карт.
...
Рейтинг: 0 / 0
Как получить расстояние между городами? (Мира)
    #39273360
sanringo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теорема Пифагора? Если нужна хорошая точность, то могу предложить считать в системе координат ПСК-42. Но учтите, что для каждой зоны свои поправочные коэффициенты.
...
Рейтинг: 0 / 0
Как получить расстояние между городами? (Мира)
    #39273549
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алиса С,

Не плодить топики - тебе в "Програмировании" уже ответили. Ты бы хоть язык озвучила, на котором это надо (хотя именно для твоей задачи язык не особенно важен - можно на любом).
...
Рейтинг: 0 / 0
Как получить расстояние между городами? (Мира)
    #39274133
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Алиса С
>Может через ...

Посмотри здесь и (под интерес) здесь


С уважением,
Владимир
...
Рейтинг: 0 / 0
Как получить расстояние между городами? (Мира)
    #39274139
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>ВМоисеев (дополнительно), если хочешь посмотреть программы.

//-- Вычисление расстояния
//-------------------------------------------
SET @dist := 6371 * 2 * ASIN(SQRT(
POWER(SIN((src_lat - ABS(dst_lat)) * PI()/180 / 2), 2) +
COS(src_lat * PI()/180) *
COS(ABS(dst_lat) * PI()/180) *
POWER(SIN((src_lon - dst_lon) * PI()/180 / 2), 2)
));

//-------------------------------------
А если надо на эллипсоиде WGS84:

function TCore.GetDistance_Ellipse(Lon1, Lat1, Lon2, Lat2: double): double;
var
fdLambda : double;
fdPhi : double;
fPhimean : double;
fTemp : double;
fRho : double;
fNu : double;
fz : double;
fAlpha : double;
fR : double;
const
e2 = 0.0067394967423;
a = 6378137;
begin
Result:=0;

if (abs(Lon1-Lon2)<=0.0000014) and (abs(Lat1-Lat2)<=0.0000008) then begin
Exit;
end else begin
Lat1:=Lat1*Pi/180;
Lon1:=Lon1*Pi/180;
Lat2:=Lat2*Pi/180;
Lon2:=Lon2*Pi/180;

fdLambda:=(Lon1-Lon2);
fdPhi:=(Lat1-Lat2);
fPhimean:=(Lat1+Lat2)/2;
fTemp:=1-e2*Power(Sin(fPhimean),2);
fRho:=a*(1-e2)/Power(fTemp,1.5);
fNu:=a/sqrt(1-e2*Sin(fPhimean)*Sin(fPhimean));
fz:=2*ArcSin(sqrt(Power(Sin(fdPhi/2.0),2)+Cos(Lat2)*Cos(Lat1)*Power(Sin(fdLambda/2.0),2)));
fAlpha:=ArcSin(Cos(Lat2)*Sin(fdLambda)/Sin(fz));
fR:=fRho*fNu/(fRho*Power(Sin(fAlpha),2)+fNu*Power(Cos(fAlpha),2));
Result:=fz*fR;
end;
end;

С уважением,
Владимир.
...
Рейтинг: 0 / 0
Как получить расстояние между городами? (Мира)
    #39274141
Алиса С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВМоисеев,
Спасибо, очень интересно.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как получить расстояние между городами? (Мира)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]