QGIS में विशेषता तालिका में डेटा प्रकार बदलना?


11

मेरे पास काउंटी डेटा है जिसमें FIP (वास्तव में राज्य FIPS और काउंटी FIPS संयुक्त है)। मेरे पास CSV के रूप में आयातित डेटा है, जिसमें STCounty शीर्षक वाले उपनाम डेटा हैं। हालाँकि, आकृति आकार को एक वास्तविक के रूप में सूचीबद्ध किया गया है और CSV एक इंटेगर के रूप में आया है और जॉइन फंक्शन काम नहीं करता है। ड्रॉप बॉक्स को बाहर / खाली किया जाता है।

तो बड़ा सवाल यह है कि आप तालिका में विशेषता प्रकार कैसे बदलते हैं?

मैंने शेपफाइल (काउंटी डेटा) में एक नया कॉलम बनाने की कोशिश की और इसे एक पूर्णांक में सेट किया और फिर FIPS * 1 को गुणा किया, लेकिन "NULL" से भरा कॉलम मिला।

मैं QGIS में नया हूं और MapInfo में बहुत अनुभव है, इसलिए QGIS में सिंटैक्स सिर्फ मेरे लिए नया नहीं है।

जवाबों:


11

एक नया पूर्णांक स्तंभ बनाना जाने का सही तरीका है - लेकिन 1*FIPSआपके द्वारा उपयोग किया गया (जो एक्सेल या लिब्रॉफिस में काम करेगा) वह जगह है जहाँ समस्या आती है; QGIS स्वचालित रूप से गणना में फ़ील्ड प्रकारों के बीच परिवर्तित नहीं होता है।

आपको सही कॉलम नाम के साथ रूपांतरण कार्यों में से एक ( tointपूर्णांक में कनवर्ट, tostringपाठ और torealवास्तविक / दशमलव में) का उपयोग करने की आवश्यकता है :

toreal("FIPS")

आप अनावश्यक स्तंभों को हटाने के लिए तब Tablemanager प्लगइन का उपयोग कर सकते हैं।

.Csvt फ़ाइल सेट करना सबसे अच्छा दोहराए जाने वाला समाधान होगा, लेकिन एकल कॉलम के लिए, यह बहुत सीधा होना चाहिए।


1 * FIPS आर्कगिस में भी काम करता है।
L_Holcombe

लगता है कि मूर्खतापूर्ण तरह से सिर्फ डेटाटाइप को बदलने में सक्षम नहीं है। हालाँकि, यह सही उत्तर लगता है
क्रिस्मस मार्क्स

6

मैंने एक बार इस प्रश्न का उत्तर दिया था; यदि आप अपने डेटा को एक सीएसवी फ़ाइल से आयात करते हैं, तो आपको एक फ़ील्ड के जिम्मेदार प्रकार को निर्धारित करने के लिए सीएसवीटी फ़ाइल बनाने की आवश्यकता होती है। यहां स्पष्टीकरण देखें: QGIS में पाठ से संख्या तक CSV परत विशेषता मान बदलना?

Jo


1

मुझे बस यही समस्या थी। मेरे मामले में मैं लिब्रेऑफ़िस और क्यूजीआईएस के साथ काम करता हूं।

मैंने R से .CSV तक दो स्तंभों के साथ एक तालिका निर्यात की : "आईडी" और "वाहन"। "आईडी" इंटेगर है और "वाहन" रियल।

write.csv(tab2,file='/path/table.csv',row.names = F)

जब मैं टेबल को खोलता हूंलिबरऑफिस में एससीवी को क्षेत्र के वाहनों को "स्ट्रिंग" के रूप में पढ़ा जाता है। इसलिए मैंने "वाहन" * 1 के गुणन के रूप में एक और युग्मन "वाहन" बनाया, और परिणाम वांछित संख्या था। तब मैंने फ़ाइल को .ODS (लिब्रे ऑफिस) के रूप में सहेजा था

फिर मैंने qgis में table.ODS लोड किया और "वाहन" को रियल के रूप में मान्यता दी गई।

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