मैं एक मानचित्र पर दो पदों के बीच की दूरी की गणना करने की कोशिश कर रहा हूं। मैंने अपने डेटा में संग्रहीत किया है: देशांतर, अक्षांश, एक्स पीओएस, वाई पीओएस।
मैं पहले नीचे दिए गए स्निपेट का उपयोग कर रहा हूं।
DECLARE @orig_lat DECIMAL
DECLARE @orig_lng DECIMAL
SET @orig_lat=53.381538 set @orig_lng=-1.463526
SELECT *,
3956 * 2 * ASIN(
SQRT( POWER(SIN((@orig_lat - abs(dest.Latitude)) * pi()/180 / 2), 2)
+ COS(@orig_lng * pi()/180 ) * COS(abs(dest.Latitude) * pi()/180)
* POWER(SIN((@orig_lng - dest.Longitude) * pi()/180 / 2), 2) ))
AS distance
--INTO #includeDistances
FROM #orig dest
हालाँकि मुझे इससे निकलने वाले आंकड़ों पर भरोसा नहीं है, यह थोड़ा गलत परिणाम देता है।
कुछ नमूना डेटा के मामले में आपको इसकी आवश्यकता है
Latitude Longitude Distance
53.429108 -2.500953 85.2981833133896
क्या कोई मेरे कोड के साथ मेरी मदद कर सकता है, मुझे कोई आपत्ति नहीं है यदि आप ठीक करना चाहते हैं जो मेरे पास पहले से ही है यदि आपके पास इसे प्राप्त करने का एक नया तरीका है जो बहुत अच्छा होगा।
कृपया बताएं कि आपके परिणामों की माप किस इकाई में है।