क्या लेबलिंग के लिए केवल एक समोच्च रेखा का चयन करना संभव है?
मेरे पास प्रत्येक पंक्ति के लिए कई लेबल हैं और मैं केवल मुख्य लोगों को लेबल करना पसंद करूंगा, जैसे 1000 m
और1500 m
क्या लेबलिंग के लिए केवल एक समोच्च रेखा का चयन करना संभव है?
मेरे पास प्रत्येक पंक्ति के लिए कई लेबल हैं और मैं केवल मुख्य लोगों को लेबल करना पसंद करूंगा, जैसे 1000 m
और1500 m
जवाबों:
QGIS 2.6 में (शायद पहले के संस्करणों के साथ-साथ, मुझे नहीं पता) आप इसे लेयर प्रॉपर्टीज, Labels
टैब, Rendering
सेक्शन के तहत कर सकते हैं । रेंडरिंग विकल्पों की सूची के बारे में आधे रास्ते में एक बटन है जो आपको एक अभिव्यक्ति लिखने देगा जो उन विशेषताओं की सूची को परिभाषित करेगा जिन्हें वास्तव में लेबल किया जाएगा। आपकी अभिव्यक्ति कुछ इस तरह होगी "Elevation" IN (1000, 1500)
। यहां बटन (पीले रंग में) है, मेरे पास यह केवल 32 के ऊंचाई मान के साथ केवल लेबल आकृति के लिए सेट है:
एक दृष्टिकोण समोच्च परत को लोड करना और इसे स्टाइल करना होगा। फिर उसी परत को फिर से लोड करें और एक फ़िल्टर लागू करें (परत पर राइट-क्लिक करें और 'फ़िल्टर ..' पर जाएं) चित्र में दिखाए गए के समान फ़िल्टर अभिव्यक्ति का उपयोग करें। मेरे मामले में मैं 50 मीटर के ऊर्ध्वाधर अंतराल पर प्रमुख आकृति चाहता था और ऊँचाई मूल्यों वाले क्षेत्र को "प्रोप_वेल्यू" कहा जाता था।
जब प्रमुख कंट्रोल्स को फ़िल्टर करने वाली परत ने लोड कंटूर लेबल लगाए हैं और (यदि आवश्यक हो) दिखाए गए अनुसार लाइन स्टाइल को मजबूत करें।
फ़िल्टर अभिव्यक्ति:
("prop_value" % 50) = 0
50 मीटर के ऊर्ध्वाधर अंतराल पर भी समोच्च का चयन करेगा। Spatialite डेटाबेस के साथ काम करता है, आकारफाइल्स के बारे में निश्चित नहीं है।
मैं इस दृष्टिकोण का उपयोग कर रहा हूं, जो कि कंटूरिंग की लेबलिंग और प्रदर्शन को काफी आसान स्थिति में बनाता है।
मैं एक अभिव्यक्ति (देखें स्क्रीनशॉट 1) के साथ रेखा प्रतीक चौड़ाई और समोच्च के रंगों के "डेटा परिभाषित गुण" का उपयोग करता हूं, जिसके द्वारा आप कस्टम स्थितियों के आधार पर विभिन्न लाइन चौड़ाई और लेबलिंग के लिए एक समान अभिव्यक्ति (स्क्रीनशॉट 2 देखें) लागू कर सकते हैं।
बस भावों के लिए आवश्यक मूल्यों को रखो और बस।
Ie यदि आप 500 मीटर से अधिक के समोच्च को छिपाना चाहते हैं, तो आप इस अभिव्यक्ति का उपयोग लाइन सिंबल के डेटेडफाइन्ड गुणों के लिए कर सकते हैं:
CASE WHEN Elevation / 500 - floor(Elevation / 500) = 0 then
color_rgba(255,255,255,100)
else
color_rgba(255,255,255,0)
end
केवल 500 मीटर के अंतराल को लेबल करने के लिए इस अभिव्यक्ति का उपयोग करें:
CASE WHEN Elevation /500 - floor(Elevation / 500) = 0 THEN Elevation || ' m' END
विभिन्न लाइन चौड़ाई लागू करने के लिए यानी डेटा परिभाषित गुणों के लिए इस तरह एक अभिव्यक्ति का उपयोग करें:
CASE WHEN Elevation / 100 - floor(Elevation / 100) = 0 THEN
0.25
WHEN Elevation / 50 - floor(Elevation / 50) = 0 THEN
0.15
ELSE
0.1
END