बैकग्राउंड बॉक्स के साथ टेक्स्ट लेबल कैसे बनाएं?


13

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

मैंने सोचा था कि सबसे आसान तरीका यह होगा कि उपयोगकर्ता सक्रिय परत के लिए लेबल सेट करें जिस तरह से वे चाहते हैं, और फिर मेरे प्लगइन परत में सुविधाओं से लेबल पाठ को पकड़ सकते हैं और बक्से बनाने के लिए पाठ स्ट्रिंग का उपयोग कर सकते हैं। मेरी समस्या यह है कि मुझे QGIS API में उन टेक्स्ट स्ट्रिंग्स को एक्सेस करने का कोई तरीका नहीं मिल रहा है। लेबल स्ट्रिंग्स QGIS में संग्रहीत लेबलिंग इंजन द्वारा कैसे बनाए जाते हैं और मैं उन्हें कैसे प्राप्त कर सकता हूं?


1
लेबल द्वारा क्या आप व्यक्तिगत बिंदु सुविधाओं के लिए लेबल का मतलब है?
RK

हाँ। और मैं चाहता हूं कि यह लेयर कंपोजर लेवल पर हो न कि लेयर लेवल पर। मैंने स्वचालित रूप से पाठ कॉलआउट बॉक्स बनाने की कोशिश की क्योंकि मुझे नहीं पता था कि वे प्रिंट संगीतकार विशेषताएं हैं, और यह वास्तव में बदसूरत था।
मॉन्स्टरमुशरूम

1
क्या आपने पाठ के पीछे एक मजबूत बफर रंग के बारे में सोचा है? मैंने वह एक काम पर किया। एक अन्य पर मैंने सिर्फ क्लाइंट को बताया कि यह एक विकल्प नहीं था .... यह एक सामान्य अनुरोध लगता है ....
विली

1
मजबूत रंग बफर मेरा वर्तमान समाधान है। हालाँकि, क्लाइंट के पास उनके ArcGIS कार्यान्वयन में बक्से (एक स्क्रिप्ट का उपयोग करके) था, और वे QGIS में एक ही चीज़ देखना चाहते हैं। (हम सिस्टम बदलने की कोशिश कर रहे हैं।) मेरा वर्तमान उत्तर यह है कि यह एक विकल्प नहीं है, लेकिन यह कभी भी एक मजेदार जवाब नहीं है, और मैं वास्तव में अपनी जेब से कुछ निकालना चाहूंगा। साथ ही, लेबल के चारों ओर के बक्से कुछ ऐसे होने चाहिए जो हम कर सकते हैं। यह सिर्फ समझ में आता है।
मॉन्सटरमशर

मुझे लगता है कि इसका उत्तर यह होने वाला है कि एक बार लेबलिंग इंजन द्वारा लेबल उत्पन्न करने और मानचित्र कैनवास को प्रस्तुत करने के बाद, उन्हें svg वैक्टर के रूप में सहेजा जाता है, और तार के रूप में नहीं और इस प्रकार विडंबनापूर्ण होते हैं। मैंने इसे एक ब्लॉग पर देखा था, लेकिन मैं अभी तक इसकी पुष्टि नहीं कर पाया है (इसलिए) इसकी आधिकारिक पुष्टि नहीं की है। (इसके अलावा, मुझे पता चला है कि ढाल लेबल पर बहुप्रतीक्षित 2.0 के लिए एक ऐड के रूप में काम किया जा रहा है)
मॉन्सटररूम

जवाबों:


1

QGIS 2.0 में, आप प्लगइन की आवश्यकता के बिना पृष्ठभूमि आयत, अंडाकार या कस्टम SVG आकृतियाँ बना सकते हैं। बस लेयर प्रॉपर्टीज पर जाएं | लेबल | पृष्ठभूमि अनुभाग।

यहाँ छवि विवरण दर्ज करें

अगर आप कुछ कोड करना चाहते हैं। यह एक प्रारंभिक बिंदु हो सकता है: http://doc.qgis.org/api/qgspallabeling_8cpp_source.html#l04333


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