मैं एक सहकर्मी आईडीएल कोड को पाइथन में फिर से लिखने की प्रक्रिया में हूं और कुछ अंतरों के साथ आ रहा हूं जिनके बारे में मैं उलझन में हूं। अन्य SO प्रश्नों और मेलिंग सूची धागे के अनुसार मैंने पाया है कि यदि आप scipy.ndimage.interpolation.map_coordinates
का उपयोग करते हैं और order=1
निर्दिष्ट करते हैं तो यह बिलीनेर इंटरपोलेशन करना है। आईडीएल कोड (जीडीएल में चलाएं) और पायथन (map_coordinates) के बीच परिणामों की तुलना करते समय मुझे अलग-अलग परिणाम मिलते हैं। तब मैंने mpl_toolkits.basemap.interp
का उपयोग करने की कोशिश की और मुझे आईडीएल कोड के समान परिणाम मिला। नीचे एक साधारण उदाहरण है जो दिखाता है कि क्या गलत है। क्या कोई मुझे यह जानने में मदद कर सकता है कि मैं map_coordinates
के साथ क्या गलत कर रहा हूं या order=1
बिलीनेर नहीं है?एसपीपी मैप_कोर्डिनेट्स इंटरपोल और आईडीएल इंटरपोलेट की तुलना में बिलीनेर इंटरपोलेशन
from scipy.ndimage.interpolation import map_coordinates
from mpl_toolkits.basemap import interp
import numpy
in_data = numpy.array([[ 25.89125824, 25.88840675],[ 25.90930748, 25.90640068]], dtype=numpy.float32)
map_coordinates(in_data, [[0.0],[0.125]], order=1, mode='nearest')
# map_coordinates results in "25.89090157"
interp(in_data, numpy.array([0,1]), numpy.array([0,1]), numpy.array([0.0]), numpy.array([0.125]), order=1)
# interp results in "25.89351439", same as GDL's "25.8935" when printed
मैं बिल्कुल ठीक interp
उपयोग कर रहा हूँ, लेकिन मैं उत्सुक था क्यों map_coordinates
एक ही परिणाम नहीं लौटा। मैंने देखा कि map_coordinates
दस्तावेज़ीकरण में बिलीनेर का उल्लेख नहीं है, क्या यह वास्तव में बिलीनेर है? मैं क्या खो रहा हूँ?
वाह, मैं विश्वास नहीं कर सकता कि मैं उस के बारे में सोच नहीं किया। मैंने सोचा कि मैंने कोशिश की है, बहुत बहुत धन्यवाद। – daveydave400