আমি দুটি জিওকর্ডিনেটের মধ্যে দূরত্ব গণনা করছি। আমি আমার অ্যাপ্লিকেশনটি 3-4 টি অ্যাপের বিপরীতে পরীক্ষা করছি। যখন আমি দূরত্ব গণনা করছি, আমার গণনার জন্য আমি গড়ে গড়ে ৩.৩ মাইল পাবে বলে অন্য অ্যাপ্লিকেশনগুলি ৩.৫ মাইল পাচ্ছে। আমি যে গণনাটি সম্পাদন করার চেষ্টা করছি তার পক্ষে এটি একটি বড় পার্থক্য। দূরত্ব গণনার জন্য এখানে কি কোনও ভাল শ্রেণির পাঠাগার রয়েছে? আমি এটি সি # তে এরকম গণনা করছি:
public static double Calculate(double sLatitude,double sLongitude, double eLatitude,
double eLongitude)
{
var radiansOverDegrees = (Math.PI / 180.0);
var sLatitudeRadians = sLatitude * radiansOverDegrees;
var sLongitudeRadians = sLongitude * radiansOverDegrees;
var eLatitudeRadians = eLatitude * radiansOverDegrees;
var eLongitudeRadians = eLongitude * radiansOverDegrees;
var dLongitude = eLongitudeRadians - sLongitudeRadians;
var dLatitude = eLatitudeRadians - sLatitudeRadians;
var result1 = Math.Pow(Math.Sin(dLatitude / 2.0), 2.0) +
Math.Cos(sLatitudeRadians) * Math.Cos(eLatitudeRadians) *
Math.Pow(Math.Sin(dLongitude / 2.0), 2.0);
// Using 3956 as the number of miles around the earth
var result2 = 3956.0 * 2.0 *
Math.Atan2(Math.Sqrt(result1), Math.Sqrt(1.0 - result1));
return result2;
}
আমি কী ভুল করছি? আমি কি প্রথমে কিমিটারে এটি গণনা করে তারপরে মাইল রূপান্তর করব?