में बिलीनेर इंटरपोलेशन कैसे करें I Python का उपयोग करके blinear इंटरपोलेशन करना चाहते हैं।
उदाहरण जीपीएस बात है जिसके लिए मैं ऊंचाई को जोड़ करना चाहते है:
पायथन
B = 54.4786674627
L = 17.0470721369
चार आसन्न अंक का उपयोग कर ज्ञात निर्देशांक और ऊंचाई के मान के साथ:
n = [(54.5, 17.041667, 31.993), (54.5, 17.083333, 31.911), (54.458333, 17.041667, 31.945), (54.458333, 17.083333, 31.866)]
z01 z11
z
z00 z10
और यहां मेरा आदिम प्रयास है:
import math
z00 = n[0][2]
z01 = n[1][2]
z10 = n[2][2]
z11 = n[3][2]
c = 0.016667 #grid spacing
x0 = 56 #latitude of origin of grid
y0 = 13 #longitude of origin of grid
i = math.floor((L-y0)/c)
j = math.floor((B-x0)/c)
t = (B - x0)/c - j
z0 = (1-t)*z00 + t*z10
z1 = (1-t)*z01 + t*z11
s = (L-y0)/c - i
z = (1-s)*z0 + s*z1
जहां z0 और z1
z01 z0 z11
z
z00 z1 z10
मैं 31.964 मिलता है लेकिन अन्य सॉफ्टवेयर से मैं 31.961 मिलता है।
क्या मेरी स्क्रिप्ट सही है?
क्या आप एक और दृष्टिकोण प्रदान कर सकते हैं?
आपको गोल करने वाली त्रुटियां मिल गई हैं और आप गोल कर रहे हैं ??? यदि आप 'मंजिल' को हटाते हैं तो क्या होता है? – Ben
एल और बी क्या हैं? उस बिंदु के निर्देशांक जिस पर आप इंटरपोल करना चाहते हैं? –
@ माचिन सालाना सही है – daikini