अक्षांश और देशांतर का उपयोग करके दो बिंदुओं के बीच की दूरी की गणना करना
दो बिंदुओं के बीच की दूरी की उनके अक्षांश और देशांतर के आधार पर सटीक गणना करना महत्वपूर्ण है पृथ्वी की सतह की वक्रता पर विचार करना। हैवरसाइन विधि, एक प्रसिद्ध सूत्र, इस वक्रता को संबोधित करता है और सटीक परिणाम प्रदान करता है। हालाँकि, यह दो बिंदुओं के बीच किसी भी ऊंचाई के अंतर को ध्यान में नहीं रखता है।
अनुशंसित कार्यान्वयन
जीपीएस ट्रैक या अनुप्रयोगों के लिए जहां ऊंचाई एक कारक है, इस संशोधित पर विचार करें कार्यान्वयन:
सार्वजनिक स्थैतिक दोहरी दूरी(डबल lat1, डबल lat2, डबल lon1, डबल lon2, डबल el1, डबल el2) { अंतिम पूर्णांक आर = 6371; //पृथ्वी की त्रिज्या डबल लैटडिस्टेंस = Math.toRadians(lat2 - lat1); डबल लोनडिस्टेंस = Math.toRadians(lon2 - lon1); डबल ए = Math.sin(latDistance / 2) * Math.sin(latDistance / 2) Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) * Math.sin(lonDistance / 2) * Math.sin(lonDistance / 2); डबल सी = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); दोगुनी दूरी = आर * सी * 1000; // मीटर में कनवर्ट करें दोगुनी ऊंचाई = el1 - el2; दूरी = गणित.पाउ(दूरी, 2) गणित.पाउ(ऊंचाई, 2); वापसी Math.sqrt(दूरी); }
यह कोड दो बिंदुओं के बीच की दूरी की सटीक गणना करने के लिए हैवरसाइन फॉर्मूला और ऊंचाई अंतर दोनों को शामिल करता है।अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3