कमांडलाइन से फ़ील्ड आकार में नाम कैसे बदलें?


20

मुझे आकृति में फ़ील्ड नाम (विशेषताएँ) का नाम बदलने की आवश्यकता है। क्या कमांड लाइन से ऐसा करने का एक आसान तरीका है?

जवाबों:


31

आप ogr2ogr यूटिलिटी का उपयोग कर सकते हैं जो गाल्ड कमांड लाइन टूल्स के साथ पैक की गई है-sqlनिम्नानुसार विकल्प का उपयोग करें :

ogr2ogr outputfile.shp inputfile.shp -sql "SELECT oldfield1 AS newfield1, oldfield2 AS newfield2 from inputfile"

एक अतिरिक्त बोनस के रूप में, आप एक ही समय में डेटा को एक अलग प्रारूप में परिवर्तित कर सकते हैं, या जहां एक खंड को निर्दिष्ट करके अपने डेटा को फ़िल्टर कर सकते हैं। ध्यान दें कि यदि आप इस पद्धति का उपयोग करते हैं, तो आपको सभी आउटपुट फ़ील्ड निर्दिष्ट करने की आवश्यकता होगी (SELECT स्टेटमेंट में शामिल कोई फ़ील्ड आउटपुट कॉल से हटा दिया जाएगा)।


2
आप क्षेत्र के नामों का भी उपयोग कर सकते हैंogrinfo -so inputfile.shp inputfile
माइक टी

एक साइड नोट: यह विधि केवल तभी काम करती है, जब शेपफाइल्स को रूपांतरित किया जाता है। उदाहरण के लिए अगर जियोसन डेटा फॉर्मेट का उपयोग करते हुए आपको पहले इसे शेपफाइल में बदलना है, तो -sqlफ्लैग का उपयोग करके दूसरा ट्रांसफॉर्मेशन करें ।
क्लेरिक

इसके अलावा, आप -dialect SQLite विकल्प जोड़ना चाहिए अन्यथा ogr2ogr फेंक होगा एक त्रुटि 6: output_file.shp कम से कम एक विशेषता 1 क्षेत्र शामिल होना चाहिए
डिमिट्री लिट्विनोव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.