আমি দুটি অক্ষাংশ / দ্রাঘিমাংশ পয়েন্টের মধ্যে দূরত্ব গণনা করার চেষ্টা করছি। আমার কাছে কোডের একটি টুকরা রয়েছে যা বেশিরভাগই কাজ করে যা আমি এই পোস্টটি থেকে ইয়েঙ্কড করেছিলাম তবে কীভাবে এটি কাজ করে আমি সত্যিই বুঝতে পারি না।
কোডটি এখানে:
<?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;
?>
আমার কয়েকটি প্রশ্ন আছে:
- এক্সএ, ইয়া, জা কি? আমি বুঝতে পারি যে তারা 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
? এটি কি যুক্তিসঙ্গত মূল্য? আমি মনে করি যে সেই মানটি পৃথিবীটি একটি এলিপস বলে ধরে নিয়েছে।