किसी के लिए अभी भी एक स्थानिक प्रारूप का उपयोग किए बिना इस का जवाब तलाश करने के लिए, मैंने कुछ ऐसा पाया है जो काम करता है।
यदि आपके पास एक सीएसवी है और इसे एक स्थानिक परत में शामिल होने के लिए एक का उपयोग करें, तो सम्मिलित होने के विकल्पों में से एक परत को कैश करना है। आप इस विकल्प को प्राप्त कर सकते हैं यदि आप अपनी परत के गुणों पर जाते हैं, तो सम्मिलित डेटा पर और संपादित करें पर क्लिक करें। यदि आप कैश विकल्प को अक्षम करते हैं , तो आप CSV बदल जाने के बाद डेटा लेयर को फिर से लोड कर सकते हैं और फिर ताज़ा मैप व्यू प्राप्त करने के लिए अपने मैप के एक रिपीट को ट्रिगर कर सकते हैं।
आप पायथन कंसोल में पुनः लोडिंग और रीपैनिंग कर सकते हैं। सबसे पहले, आपको नक्शा कैनवास, सीएसवी और परत के लिए एक नाम परिभाषित करना होगा:
mc = iface.mapCanvas()
layer=mc.currentLayer()
csv_layer=mc.currentLayer()
जब आप उन्हें लेयर में सक्रिय कर रहे हों, तो उन्हें लेयर एक्टिवेट करना सुनिश्चित करें, जब वे करंट लेयर विधि का उपयोग कर रहे हों (इसे 'करंट लेयर' होना चाहिए)।
फिर, यदि आप अपने ज्वाइन के लिए कैश विकल्प को बंद करते हैं, तो आप csv को बदल सकते हैं और फिर पायथन कंसोल में निम्नलिखित दो कमांड्स का उपयोग करके अपने नक्शे को फिर से तैयार कर सकते हैं:
csv_layer.reload()
layer.triggerRepaint()
इसने मेरे लिए काम किया, लेकिन मेरे पास केवल 100 पंक्तियों का डेटा था। यह हो सकता है कि जब आपके पास कोई बड़ा डेटासेट हो, तो कैशिंग के बिना संचालन धीमा हो जाएगा।