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

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

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


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


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