QGIS में लेबल को कैसे व्यवस्थित करें?


14

मैं विंडोज़ एक्सपी मशीन पर क्यूजीआईएस 1.8 का उपयोग कर रहा हूं और मैं विशेषता तालिका में अपने स्थानीय सड़कों के नाम लेबल करने के लिए कई क्षेत्रों का एक संयोजन करने की कोशिश करता हूं, लेकिन मुझे सही वाक्यविन्यास नहीं मिल रहा है। पहले क्षेत्र में ओम की सड़क, दूसरे प्रकार की लिंक, उदाहरण के लिए: एवेन्यू और तीसरा अभिविन्यास है, उदाहरण के लिए, पूर्व या पश्चिम। क्या आप मुझे किसी सूत्र के आधार पर लेबल के संवाद बॉक्स का उपयोग करके सही सिंटैक्स लिखने का तरीका बता सकते हैं। एक स्क्रीनशॉट संलग्न किया है जो विशेषता तालिका दिखाता है।

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

जवाबों:


19

संघचालक ऑपरेटर ||(विषम हुह?) है, इसलिए आप कुछ इस तरह उपयोग करेंगे:

street || ', ' || link || ', ' || orientation

उन्हें किसी भी विभाजक और आपके द्वारा पसंद किए जाने वाले स्थिर तारों के साथ जोड़ दें।

जैसा कि @NathanW ने उल्लेख किया है, यह विफल हो जाएगा यदि कोई भी फ़ील्ड NULL है, लेकिन आप उस स्थिति में फ़ॉलबैक मान का उपयोग कर सकते हैं:

street || ', ' || CASE WHEN ("link" IS NULL) THEN '(nodata)' ELSE "link" END || ', ' || orientation

coalesce2.0 संस्करण के बाद से QGIS एक सहायक फ़ंक्शन का समर्थन करता है । यह NULLs की समस्याओं से बचने के लिए है और उदाहरण जैसा दिखेगा:

 street || ', ' || coalesce(link, '(nodata)') || ', ' || orientation

2
concatदेव संस्करणों में फ़ंक्शन भी है । का उपयोग कर || NULL को हैंडल नहीं करता है, अगर linkNULL है तो पूरा लेबल null concatहै, इसमें यह समस्या नहीं है। || Postgres से लिया जाता है postgresql.org/docs/9.1/static/functions-string.html
नाथन डब्ल्यू

ऐसा लगता है कि यह सीधे केस स्टेटमेंट का समर्थन नहीं करता है। लिंक कॉलम की गैर-पूर्ण प्रतिलिपि बनाने के लिए सीधे SQL का उपयोग किए बिना एकमात्र विकल्प है?
lynxlynxlynx

आपका क्या मतलब है कि केस स्टेटमेंट का समर्थन नहीं करता है?
नाथन डब्ल्यू

3
आप याद आ रहे हैं END। सही तार हैCASE WHEN ("link" IS NULL) THEN '(nodata)' ELSE "link" END
नाथन डब्ल्यू

1
आह coalesceवही है जिसका मैं मतलब था।
नाथन डब्ल्यू

2

QGIS veriosn 2.0.1 पर सरल अभिव्यक्ति ने इस तरह काम किया:

"फ़ील्ड 1" || '(' '"फील्ड 2" ||') '

वांछित आउटपुट: फ़ील्ड 1 (फ़ील्ड 2)

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