Wzór na odległoś 2 punktów na ziemi
A no właśnie, tak myślałem z tym XMLem, gdyby był dostępny bez abonamentu już pewnie bym go użył wesoły

najbliżej jest:
$odleglosc=sqrt(pow(($lon2 - $lon1) * cos($lat1 * pi() / 180),2) + pow($lat2 - $lat1,2)) * pi() * 12756.274 / 360;


to z tej wikipedii:

[quote]$odleglosc1=cos((pi() * $lon1)/180);
$odleglosc2=($lat2 - $lat1);
$odleglosc3=pow(($lon2 - $lon1),2);
$odleglosc4=pi()*(12756.274/360);
$odleglosc=sqrt(pow(($odleglosc1*$odleglosc2),2)*$odleglosc3)*$odleglosc4;[/quote]

pokazuje głupie wyniki

function distance($lat1, $lng1, $lat2, $lng2, $miles = true)
{
$pi80 = M_PI / 180;
$lat1 *= $pi80;
$lng1 *= $pi80;
$lat2 *= $pi80;
$lng2 *= $pi80;

$r = 6372.797; // mean radius of Earth in km
$dlat = $lat2 - $lat1;
$dlng = $lng2 - $lng1;
$a = sin($dlat / 2) * sin($dlat / 2) + cos($lat1) * cos($lat2) * sin($dlng / 2) * sin($dlng / 2);
$c = 2 * atan2(sqrt($a), sqrt(1 - $a));
$km = $r * $c;

return ($miles ? ($km * 0.621371192) : $km);
}

tak samo.

już nie wiem co myśleć.

nie chcę systemu uzależniać od możliwości zmian na qrz.
możliwe, że importuję kody krajów z kontynentami i wszystkimi prefiksami, wtedy powinno się dać zrobić porównania.
kurde narysować na mapie kreskę jest łatwo, ale obliczyć poprawną odległość trudno wesoły

mój pierwszy sposób wyniki:
QRZ: 2535.3 km mój: 2359 km
QRZ: 346 km mój: 342 km
QRZ: 255 km mój: 258 km
QRZ: 2831 km mój: 3055 km
QRZ: 1937 km mój: 1932 km
QRZ: 8692 km mój: 9902 km
QRZ: 7378 mój: 11742 km

O ile część różnic jest nie duża to w przypadku np Alaski czyli tego ostatniego wyniku i Oregonu w przedostatnim jest ogromna. Sam już nie wiem co myśleć.

System robię pod siebie tak, aby mi było wygodnie na nim pracować.


EI3HMB jak Ty tak daleko jesteś to może by się udało z Tobą na 10 metrach łączność zrobić po pracy ?wesoły


  PRZEJDŹ NA FORUM