अधिक

Linux पर QGIS एप्लिकेशन में मेमोरी लेयर बनाने में विफल

Linux पर QGIS एप्लिकेशन में मेमोरी लेयर बनाने में विफल


मैंने एक अजगर वर्ग लिखा है जो एक XML फ़ाइल से मानचित्र परतों के गुणों को पढ़ता है और उपयुक्त मेमोरी लेयर बनाता है। मैंने विंडोज 7 मशीन पर क्यूजीआईएस 2.8.2 के साथ इस कोड को विकसित और परीक्षण किया है (पायथन कंसोल पर क्लास इंपोर्ट करना और क्लास मेथड्स को कॉल करना)। जैसा कि मॉड्यूल को लिनक्स वातावरण में उपयोग किया जाना चाहिए, मैंने CentOs 7 पर QGIS 2.8.2 के साथ सफलतापूर्वक ऐसा ही किया - सभी मानचित्र परतों को सफलतापूर्वक बनाया और प्रतीक किया गया था।

फिर मैंने क्यूजीआईएस स्टैंडअलोन एप्लिकेशन के ढांचे में फिट होने के लिए कोड को फिर से तैयार किया। थ्रेड्स और इस तरह की चीजों के साथ बड़ी समस्याएं हैं, लेकिन ऐप शुरू होता है और बनाई गई सभी परतों और काम करने के तरीकों के साथ आता है।

अब अजीब हिस्सा आता है। स्टैंडअलोन CentOs संस्करण में मेमोरी लेयर्स का निर्माण काम नहीं करता है - लेयर्स मान्य नहीं हैं। फ़ील्ड परिभाषाओं के बिना एक सरलीकृत परीक्षण भी, कोई भी crs काम नहीं करता है।

परत = QgsVectorLayer(type + '?crs=EPSG:' + str(epsg) + फ़ील्ड, लेयर_नाम, 'मेमोरी')

इस लाइन के पहले और बाद में कोड की सैकड़ों लाइनें सभी संस्करणों में समान हैं। क्या किसी को इस समस्या को संभालने का कोई विचार है? शायद एक बग?


"परत मान्य नहीं है" त्रुटियों से बचने के लिए आपको सावधानीपूर्वक अपना QGIS उपसर्ग पथ सेट करना चाहिए। क्यूजीआईएस को यह बताने के लिए उपसर्ग पथ सेट किया जाना चाहिए कि डेटा प्रदाता और संदर्भ प्रणाली डेटाबेस जैसे संसाधन कहां खोजें। यदि आप अपने QGIS इंस्टॉलेशन को देखते हैं, तो आपको एक्सेस करने में सक्षम होना चाहिएlib/qgis/प्लगइन्सयूनिक्स पर (या बसप्लग-इनविंडोज़ पर), उपसर्ग पथ के सापेक्ष। उदाहरण के लिए:

  • मेरे उबंटू लिनक्स पर उपसर्ग पथ है:/ usr, क्योंकि प्रदाता यहां हैं/usr/lib/qgis/plugins.
  • विंडोज़ पर मैं एक्सेस कर सकता हूंसी:OSGeo4Wappsqgisplugins, इसलिए उपसर्ग पथ होना चाहिएसी:OSGeo4Wappsqgis

संदर्भ के लिए, यदि आप इस मामले पर अधिक जानकारी चाहते हैं, तो व्यूअर को मेरे स्टैंडअलोन PyQGIS एप्लिकेशन में डेटा प्रदर्शित नहीं करने और एक स्टैंडअलोन PyQGIS स्क्रिप्ट में ज्यामिति टाइप () से यादृच्छिक मान प्राप्त करने पर एक नज़र डालें।


वीडियो देखना: Géomatique libre - Création dune carte dans Quantum GIS