2012-03-05 16 views
5

मेरे पास दो जीपीएस समन्वय हैंदो भौगोलिक/जीपीएस निर्देशांक के बीच कोण की गणना कैसे करें?

उदा। (Lat1, Long1) और (Lat2, Long2)

क्या कोई मुझे उन दो बिंदुओं के बीच कोण खोजने में मदद कर सकता है।

मान 0-360 डिग्री होना चाहिए।

+2

क्या यह होमवर्क है? यदि हां, तो कृपया इसे 'होमवर्क' के रूप में टैग करें। –

उत्तर

4

this पिछले अतः पद से लिया:

float dy = lat2 - lat1; 
float dx = cosf(M_PI/180*lat1)*(long2 - long1); 
float angle = atan2f(dy, dx); 
+1

'M_PI' और' atan2f' क्या हैं? – FaCoffee

+1

@ सीएफ 84: कृपया इस पर एक नज़र डालें (http://stackoverflow.com/questions/15231466/whats-the-difference-between-pi-and-m-pi-in-objc) 'M_PI' के लिए लिंक । 'Atan2f' के लिए कृपया एक नज़र डालें [यहां] (http://stackoverflow.com/questions/7418353/angle-between-two-lines-is-wrong)। – npinti

5

मुझे लगता है आप के लिए असर और नहीं स्थानों के बीच कोण मतलब: अगर (lat1, long1) एक Location वस्तु loc1 और में संग्रहित है (lat2, long2) loc2 में संग्रहित है आप इस तरह loc2 को loc1 से असर मिलती है:

float bearing = loc1.bearingTo(loc2); 

परिणाम सही उत्तर और अपनी प्रारंभिक असर (जो महत्वपूर्ण है के पूर्व डिग्री में है अगर loc1 और loc2 दूर एपी हैं एक दूसरे से कला)।

वहाँ Location कक्षा में कुछ अन्य उपयोगी तरीके हैं, अधिक जानकारी के लिए यहाँ देखें: http://developer.android.com/reference/android/location/Location.html

संपादित करें: मैं जवाब के लिए एंड्रॉयड मान लिया है, लेकिन हाँ, टैग कि यह दावा नहीं किया ...

+2

यह ठीक है अगर वह एंड्रॉइड पर है, लेकिन टैग्स यह नहीं कहता कि वह है। – JeremyP

संबंधित मुद्दे