2009-08-10 8 views
88

क्या कोई साधारण गणना है जो मैं कर सकता हूं जो किमी को एक मूल्य में परिवर्तित कर देगा जिसे मैं लेट या लोन फ्लोट में जोड़ सकता हूं ताकि खोजों के लिए बाध्यकारी बॉक्स की गणना हो सके? इसे पूरी तरह से सटीक होने की आवश्यकता नहीं है।लेट/लॉन + किमी दूरी के साथ काम करने के लिए सरल गणना?

उदाहरण के लिए: अगर मुझे लंदन, इंग्लैंड (51.5001524, -0.1262362) के लिए लेट/लोन दिया गया था और मैं चाहता था कि उस बिंदु से लैट 25 किमी पूर्व/पश्चिम क्या होगा, और लोन 25 किमी उत्तर क्या होगा/उस बिंदु के दक्षिण में, ऊपर दिए गए मानों को जोड़ने के लिए 25km को दशमलव में बदलने के लिए मुझे क्या करना होगा?

मैं एक सामान्य नियम के-अंगूठे, यानी की तलाश में हूँ: 1km == +/- 0.XXX

संपादित करें:

"अक्षां देशांतर" के लिए मेरा मूल खोज नहीं था ' टी इस परिणाम लौट:

How to calculate the bounding box for a given lat/lng location?

स्वीकार किए जाते हैं जवाब मेरे आवश्यकताओं के लिए पर्याप्त लगता है।

उत्तर

171

अनुमानित रूपांतरण हैं:

  • अक्षांश: 1 डिग्री = 110.574 किमी
  • देशांतर: 1 डिग्री = 111.320 * कॉस (अक्षांश) किमी

यह नहीं है पृथ्वी के ध्रुवीय flattening के लिए पूरी तरह से सही - इसके लिए आप शायद WGS84 संदर्भ ellipsoid (जीपीएस के लिए इस्तेमाल मॉडल) का उपयोग कर एक और जटिल सूत्र चाहते हैं। लेकिन त्रुटि आपके उद्देश्यों के लिए शायद नगण्य है।

स्रोत: http://en.wikipedia.org/wiki/Latitude

सावधानी: ध्यान रखें कि LatLong निर्देशांक डिग्री में व्यक्त कर रहे हैं हो सकता है, जबकि सबसे अधिक (? सब) भाषाओं में cos समारोह आम तौर पर रेडियंस स्वीकार करता है, इसलिए एक degree to radians conversion की जरूरत है।

+0

क्या आप दूसरे सूत्र में कोस (रेखांश) का मतलब है? – Odys

+1

आप इसके साथ कैसे आए? मुझे कुछ याद आ रही है, क्या आप कृपया देशांतर गणनाओं पर विस्तृत जानकारी दे सकते हैं? Ty – Odys

+4

@Odys: यदि आप रेखांश (उत्तर/दक्षिण) की एक ही पंक्ति पर स्थित दो बिंदुओं की तुलना कर रहे हैं, तो वे एक महान सर्कल पर झूठ बोलते हैं और रूपांतरण कारक केवल 360 डिग्री से विभाजित पृथ्वी की ध्रुवीय परिधि है। लेकिन यह पूर्व-पश्चिम माप के लिए अलग है, क्योंकि (भूमध्य रेखा को छोड़कर) आप "महान सर्कल" के साथ माप नहीं रहे हैं, इसलिए किसी दिए गए अक्षांश पर "परिधि" छोटा है। और सुधार कारक अक्षांश की कोसाइन बन जाता है। –

3

आप जावा, JavaScript या PHP का उपयोग कर रहे हैं, तो एक पुस्तकालय है कि इन गणनाओं वास्तव में क्या करेंगे, कुछ amusingly जटिल (लेकिन अभी भी तेजी से) त्रिकोणमिति का उपयोग कर रहा है:

http://www.jstott.me.uk/jcoord/

+0

साइट पर लाइब्रेरी है। – midfield99

0

http://www.jstott.me.uk/jcoord/ - इस का उपयोग लाइब्रेरी

  LatLng lld1 = new LatLng(40.718119, -73.995667); 
      LatLng lld2 = new LatLng(51.499981, -0.125313); 
      Double distance = lld1.distance(lld2); 
      Log.d(TAG, "Distance in kilometers " + distance);