मैं QGIS 2.0.1 का उपयोग कर रहा हूं और MS SQL सर्वर से स्थानिक रूप से सक्षम डेटाबेस (ESRI नहीं) से जुड़ा हूं। मैं परत से कनेक्ट करने और इसे अपने टीओसी में लोड करने में सक्षम हूं। मैंने कई क्षेत्र छिपाए हैं जो दृश्यता के लिए महत्वपूर्ण नहीं हैं।
अब मैं उस डेटा को दूसरे डेटा प्रकार में निर्यात करना चाहता हूं (हम इस उदाहरण के लिए शेपफाइल का उपयोग करेंगे)। जब मैं परत पर राइट-क्लिक करता हूं, तो "इस रूप में सहेजें" चुनें और आउटपुट फ़ाइल को परिभाषित करें, मुझे निम्न त्रुटि मिलती है:
वेक्टर फ़ाइल में निर्यात विफल रहा। त्रुटि: फ़ील्ड GlobalID के लिए असमर्थित प्रकार
नोट 1 : यदि मैं डायलॉग बॉक्स में "स्किप एट्रिब्यूशन क्रिएशन" चेक करता हूं, तो शेपफाइल बिना किसी त्रुटि के बनाया जाता है।
नोट 2 : आर्कगिस में यह समस्या नहीं है, यह केवल GUID फ़ील्ड को "TEXT" प्रकार में परिवर्तित करता है।
तालिका को देखते हुए, मेरे द्वारा छिपाए गए फ़ील्ड में से एक GUID SQL प्रकार < uniqueidentifier > है, जो सभी संभावित अपराधी में है। इसे हल करने के प्रयास में, मैंने इस क्षेत्र को "छिपा" दिया। मुझे लगता है कि क्योंकि क्षेत्र छिपा हुआ था, क्यूजीआईएस इस क्षेत्र को निर्यात करने की कोशिश नहीं करेगा, लेकिन यह मामला नहीं निकला।
क्या आप उन क्षेत्रों को परिभाषित कर सकते हैं जिन्हें आप QGIS से निर्यात करना चाहते हैं?
क्या QGIS के लिए यह संभव है कि वह सिर्फ "दर्शनीय" क्षेत्रों को निर्यात करे? या क्या QGIS से ऐसा करने का एक और वैकल्पिक तरीका है (शायद एक ogr2ogr क्वेरी के माध्यम से खेतों को परिभाषित करें)? यह QGIS की कमी की तरह लगता है अगर मैं परिभाषित नहीं कर सकता कि किस क्षेत्र को निर्यात करना है।
अद्यतन: मैंने यह देखने के लिए एक नमूना आकार-प्रकार का उपयोग करके एक परीक्षण किया कि क्या मैं आउटपुट फ़ील्ड को सीमित कर सकता हूं। निम्नलिखित ogr2ogr कमांड लाइन ने काम किया और "नाम" को छोड़कर सभी क्षेत्रों को समाप्त कर दिया:
ogr2ogr -f "ESRI Shapefile" test.shp city.shp -sql "select name from city"
लेकिन QGIS का उपयोग करके और जोड़ना:
-sql "select name from city"
"इस रूप में सहेजें" संवाद के "परत" खंड में केवल एक क्षेत्र के साथ एक आकृति में परिणाम नहीं हुआ। इसलिए मैं वास्तव में यह नहीं देखता कि मैं केवल कुछ चुनिंदा क्षेत्रों को दिखाने के लिए फ़ाइल आउटपुट में कैसे हेरफेर कर सकता हूं। किसी भी मदद की सराहना की है।
-sql "select <fields> from <table>"
"सेव एज़" डायलॉग के "लेयर" हिस्से को (ग्लोबल फील्ड को <फ़ील्ड्स को छोड़कर) जोड़ने की कोशिश की , लेकिन वही त्रुटि अभी भी पॉप अप है। क्या मैंने इस कोड ब्लॉक का दुरुपयोग किया है, या यह एक बग है?