PyQGIS का उपयोग करके ज्यामिति के साथ CSV फ़ाइल में वेक्टर लेयर लिखना?


12

मैं इस कोड के साथ csv फ़ाइल में वेक्टर लेयर फ़ाइल लिखने के लिए पायथन का उपयोग करने की कोशिश करता हूं:

QgsVectorFileWriter.writeAsVectorFormat(mylayer, r'c:\temp\xyz.csv', "utf-8", None, "CSV")

यह xyz.csv को निर्यात कर सकता है, लेकिन केवल गुण csv में दिखाता है, ज्यामिति स्तंभ नहीं।

मैं csv फ़ाइल में विशेषता और स्थानिक डेटा दोनों को कैसे निर्यात कर सकता हूं?


1
यहाँ एक ही प्रश्न और समाधान है [लिंक] [१]। [१]: gis.stackexchange.com/questions/43129/…
mete7

मुझे खेद है कि प्रश्न स्पष्ट नहीं हुआ। मेरा काम pythgis के साथ python का उपयोग करते हुए csv फ़ाइल में वेक्टर लेयर लिखता है। मुझे लगता है कि सीएसवी फ़ाइल में ज्यामिति है, लेकिन यह नहीं है। अभी भी जवाब की जरूरत है
Anubiz

निर्भर करता है कि आप किस प्रकार की वेक्टर लेयर को एक्सपोर्ट करना चाहते हैं। बिंदु परत के लिए आप विशेषता तालिका स्तंभों के रूप में केवल लंबे, लंबे मान जोड़ सकते हैं। अन्य सभी के लिए आपको WKT की आवश्यकता है
Curlew

धन्यवाद कर्लेव, मैं बिंदु और बहुभुज परत के साथ काम करता हूं। पॉइंट लेयर के लिए आप विशेषता तालिका में लैट, लोन कॉलम जोड़ते हैं? बहुभुज के बारे में कैसे?
आबिज़

3
क्या यह वास्तव में डुप्लिकेट है? यहाँ यह प्रश्न विशेष रूप से अजगर पर लक्षित है, जो कि जुड़े हुए उत्तर से ढका नहीं है।
मथियास कुह्न

जवाबों:


9

इस पोस्ट से एक समान उत्तर प्रदान किया गया था:

QGIS 2.2 और PyqGIS दोनों में निर्देशांक के साथ .csv के रूप में सहेजें

बस layerOptions ='GEOMETRY=AS_XYZअंत में जोड़ें :

layer = QgsVectorLayer("path/to/shapefile", "name", "ogr")
QgsVectorFileWriter.writeAsVectorFormat(layer, r'c:\temp\xyz.csv', "utf-8", None, "CSV", layerOptions='GEOMETRY=AS_XYZ')

नमस्ते, मैं इसमें एक समस्या का सामना कर रहा हूं, अगर मैं इसे कंसोल में टाइप करता हूं तो यह स्थानिक डेटा को नहीं बचाता है, लेकिन केवल विशेषताओं को। लेकिन अगर मैं इसे मैन्युअल रूप से सहेजता हूं तो यह काम करता है। मैं QGIS 2.14.12 का उपयोग कर रहा हूं।
सनी नाइक

2
@SunnyNaik - layerOptionsपैरामीटर को अब स्ट्रिंग मानों की एक सूची की आवश्यकता होती है, जबकि एक मूल्य से पहले पर्याप्त था (जैसा कि इस पोस्ट में वर्णित है )। तो आपकी अंतिम पंक्ति इस तरह दिखाई देगी:QgsVectorFileWriter.writeAsVectorFormat(layer, r'c:\temp\xyz.csv', "utf-8", None, "CSV", layerOptions=['GEOMETRY=AS_XYZ'])
यूसुफ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.