मैं कुछ जियोकॉर्डिनेट कैलक्यूशन में सहायता करने के लिए मूवबल-टाइप वेबसाइट का उपयोग कर रहा हूं और यह बहुत उपयोगी रहा है, हालांकि, मेरे पास दो निर्देशांक के बीच मध्य बिंदु की गणना में एक बग है। मेरे परिणाम की उम्मीद के करीब है, लेकिन पर्याप्त बंद नहीं:दो निर्देशांक के बीच भौगोलिक मिडपॉइंट
posA = {47.64570362, -122.14073746}
posB = {47.64316917, -122.14032175}
अपेक्षित परिणाम (चल प्रकार कैलकुलेटर से लिया गया) = 47 ° 38'40 "N, 122 ° 08'26" डब्ल्यू = {47.644444, -122.140556}
मेरी परिणाम :
private Geocoordinate MidPoint(Geocoordinate posA, Geocoordinate posB)
{
Geocoordinate midPoint = new Geocoordinate();
double dLon = DegreesToRadians(posB.Longitude - posA.Longitude);
double Bx = Math.Cos(DegreesToRadians(posB.Latitude)) * Math.Cos(dLon);
double By = Math.Cos(DegreesToRadians(posB.Latitude)) * Math.Sin(dLon);
midPoint.Latitude = RadiansToDegrees(Math.Atan2(Math.Sin(DegreesToRadians(posA.Latitude)) + Math.Sin(DegreesToRadians(posB.Latitude)),
Math.Sqrt((Math.Cos(DegreesToRadians(posA.Latitude)) + Bx) * (Math.Cos(DegreesToRadians(posA.Latitude))) + Bx) + By * By));
midPoint.Longitude = posA.Longitude + RadiansToDegrees(Math.Atan2(By, Math.Cos(DegreesToRadians(posA.Latitude)) + Bx));
return midPoint;
}
मैं निजी तरीकों में से एक जोड़े को डिग्री और रेडियन और वापस बीच रूपांतरण करने के लिए मिल गया है: {49.6054801645915, -122.14052959995759}
यहाँ मेरी कोड है। ईजी।
private double DegreeToRadian(double angle)
{
return Math.PI * angle/180.0;
}
मैं काम नहीं कर सकता कि मेरे परिणाम लैट मूल्य पर दो डिग्री से क्यों बंद हैं। कोई विचार?
धन्यवाद
मेरी ** पूरे ** डिग्री बंद (जैसा कि आप उम्मीद '34.8954' लेकिन' मिल 29.8954') या ** अनुमानित ** (जैसा कि आप उम्मीद '34.8954' लेकिन मिल' 29.7836')? – Brad
मुझे पूरा यकीन नहीं है कि क्या आप पृथ्वी की सतह पर एक साधारण क्षेत्र या एलीस्पोसाइड क्षेत्र के रूप में विचार कर रहे हैं। पिछली बार मैंने डब्ल्यू/लैम्बर्ट के कानून [जावा कार्यान्वयन का उपयोग करके] काम किया था और यह सटीक रूप से काम करना प्रतीत होता था। – anirvan
धन्यवाद। यह लैट पर 2 डिग्री से बाहर है, और लोन बहुत अधिक जगह पर है। मैं इस वेबसाइट पर मिड-पॉइंट गणना के लिए सूत्र का उपयोग कर रहा हूं, सी # http://www.movable-type.co.uk/scripts/latlong.html – Stevieboy84