मैं दो अक्षांश / देशांतर बिंदुओं के बीच की दूरी की गणना करने का प्रयास कर रहा हूँ। मेरे पास कोड का एक टुकड़ा है जो ज्यादातर काम करता है जो मैं इस पद से मिला था लेकिन मुझे वास्तव में समझ नहीं आया कि यह कैसे काम करता है।
यहाँ कोड है:
<?php
// POINT 1
$thisLat = deg2rad(44.638);
$thisLong = deg2rad(-63.587);
// POINT 2
$otherLat = deg2rad(44.644);
$otherLong = deg2rad(-63.911);
$MeanRadius = 6378 - 21 * sin($lat1);
$xa = (Cos($thisLat)) * (Cos($thisLong));
$ya = (Cos($thisLat)) * (Sin($thisLong));
$za = (Sin($thisLat));
$xb = (Cos($otherLat)) * (Cos($otherLong));
$yb = (Cos($otherLat)) * (Sin($otherLong));
$zb = (Sin($otherLat));
$distance = $MeanRadius * Acos($xa * $xb + $ya * $yb + $za * $zb);
echo $distance;
?>
मेरे कुछ सवाल हैं:
- xa, ya, za क्या हैं? मैं समझता हूं कि वे एक 3 डी कार्टेसियन प्लेन के पॉइंट हैं, लेकिन वे किसके सापेक्ष हैं? पृथ्वी का केंद्र?
- यह
cos($xa * $xb + $ya * $yb + $za * $zb)
अंकों के बीच की दूरी की गणना कैसे करता है ? मुझे पता है कि 2 डी में मैं यह करूंगा:
Pythagorean Theorem
distance^2 = b^2 + a^2
distance = sqr((y2-y1)^2 + (x2 - x1)^2)
- यह कितना सही होगा? उस बारे में दूसरे पृष्ठ पर कुछ चर्चा हुई। लेकिन मैं विशेष रूप से यह बताने के लिए दूरी का उपयोग करना चाहता हूं कि उपयोगकर्ता 10 मीटर, 20 मीटर या 50 मीटर की दूरी पर हैं। क्या मैं इसे अच्छी सटीकता के साथ कर पाऊंगा?
- मुझे इसके लिए क्या उपयोग करना चाहिए
$MeanRadius
? क्या यह एक उचित मूल्य है? मुझे लगता है कि यह मान लेता है कि पृथ्वी एक बीजाणु है।