QGIS के भीतर CSV फ़ाइल को पुनः लोड करना?


9

मैं अपने Matlab सिमुलेशन से परिणामों का वर्णन करने के लिए QGIS का उपयोग करता हूं। Matlab एक CSV फ़ाइल का निर्माण करता है जो QGIS के आकार-प्रकार से जुड़ी होती है।

फिलहाल मुझे Matlab सिमुलेशन से नए परिणाम दिखाने के लिए QGIS को बंद करना और फिर से खोलना है।

क्या बिना बंद किए CSV फ़ाइल की विशेषता-तालिका को पुनः लोड करना और QGIS को फिर से खोलना संभव है?


अपने टिप @Jason धन्यवाद मेरे लिए एक आकर्षण पसंद आया काम - QGIS 3.10 विकल्प गुण किया जा रहा है> स्रोत का उपयोग [propertiescreatespatialindex! ] ( I.stack.imgur.com/5G3y5.png )
हैनेस Buhrmann

जवाबों:


3

मैं एक वैकल्पिक वर्कफ़्लो का सुझाव दे सकता हूं, जबकि जरूरी नहीं कि हर बार QGIS को बंद करने और खोलने से अधिक आसान हो, अधिक समझ में आ सकता है:

  • अपने आकार आकृति को स्थानिक में आयात करें
  • CSV को स्थानिक में आयात करें ("वर्चुअल TXT / CSV विकल्प का उपयोग करके)"
  • आभासी CSV तालिका में स्थानिक तालिका (आकृति) जोड़कर स्थानिक दृश्य में एक स्थानिक दृश्य बनाएं

अब, आप किसी भी स्थानिक परत की तरह QGIS में दृश्य प्रदर्शित कर सकते हैं, और स्थानिक से संयुक्त मूल्यों का उपयोग कर सकते हैं। लेकिन, हर बार जब CSV को फिर से बनाया जाता है, तो आपको वर्चुअल CSV तालिका को ड्राप करना होगा, और इसे फिर से लिंक करना होगा। फिर QGIS में एक ताज़ा नए मूल्यों को दिखाएगा। यह केवल एक पल लगता है, और क्या अधिक है, आप कई दृश्यों को परिभाषित कर सकते हैं, और यदि आवश्यक हो तो पिछले वाले को रख सकते हैं ...

HTH


2

किसी के लिए अभी भी एक स्थानिक प्रारूप का उपयोग किए बिना इस का जवाब तलाश करने के लिए, मैंने कुछ ऐसा पाया है जो काम करता है।

यदि आपके पास एक सीएसवी है और इसे एक स्थानिक परत में शामिल होने के लिए एक का उपयोग करें, तो सम्मिलित होने के विकल्पों में से एक परत को कैश करना है। आप इस विकल्प को प्राप्त कर सकते हैं यदि आप अपनी परत के गुणों पर जाते हैं, तो सम्मिलित डेटा पर और संपादित करें पर क्लिक करें। यदि आप कैश विकल्प को अक्षम करते हैं , तो आप CSV बदल जाने के बाद डेटा लेयर को फिर से लोड कर सकते हैं और फिर ताज़ा मैप व्यू प्राप्त करने के लिए अपने मैप के एक रिपीट को ट्रिगर कर सकते हैं।

आप पायथन कंसोल में पुनः लोडिंग और रीपैनिंग कर सकते हैं। सबसे पहले, आपको नक्शा कैनवास, सीएसवी और परत के लिए एक नाम परिभाषित करना होगा:

mc = iface.mapCanvas()
layer=mc.currentLayer()
csv_layer=mc.currentLayer()

जब आप उन्हें लेयर में सक्रिय कर रहे हों, तो उन्हें लेयर एक्टिवेट करना सुनिश्चित करें, जब वे करंट लेयर विधि का उपयोग कर रहे हों (इसे 'करंट लेयर' होना चाहिए)।

फिर, यदि आप अपने ज्वाइन के लिए कैश विकल्प को बंद करते हैं, तो आप csv को बदल सकते हैं और फिर पायथन कंसोल में निम्नलिखित दो कमांड्स का उपयोग करके अपने नक्शे को फिर से तैयार कर सकते हैं:

csv_layer.reload()
layer.triggerRepaint()

इसने मेरे लिए काम किया, लेकिन मेरे पास केवल 100 पंक्तियों का डेटा था। यह हो सकता है कि जब आपके पास कोई बड़ा डेटासेट हो, तो कैशिंग के बिना संचालन धीमा हो जाएगा।


0

शेपफाइल की परत गुण खोलें, और General- पर जाएं Coordinate reference system, क्लिक करें Create spatial index। एक बार जब यह समाप्त हो जाता है, तो आकृति को ताज़ा किया जाता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.