QGIS 3.0 पॉइंट क्लस्टर रेंडरर, क्या रेंडरिंग ऑर्डर (z- ऑर्डर) को नियंत्रित करना संभव है?


19

मैं QGIS 3.0.2 में नए पॉइंट क्लस्टर रेंडरर के साथ एक नाटक कर रहा हूं और यह बहुत अच्छा है - अपने आप को क्लस्ट करने के मुकाबले बहुत आसान (और तेज)।

यह दिखाने के लिए कि मेरा क्या मतलब है, यहाँ STATS19 डेटा और एक 30 मी त्रिज्या का उपयोग करके एडिनबर्ग में सड़क दुर्घटनाओं का एक उदाहरण है।

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

मैं यह नहीं बता सकता कि z- ऑर्डर कैसे सेट किया जाए ताकि छोटे समूहों के सामने सबसे बड़ा क्लस्टर तैयार हो।

मुझे @cluster_size वैरिएबल के बारे में पता है - यह वह है जो मैं स्केल और प्रतीकों को रंगने के लिए उपयोग कर रहा हूं। इसके लिए मैं आकार और रंग सहायकों का उपयोग कर रहा हूं। मैंने प्रत्येक क्लस्टर से पाठ को निकालने के लिए फ़ॉन्ट मार्करों को हटा दिया।

मार्करों का आकार निम्नानुसार परिभाषित किया गया है: -

coalesce(scale_exp(@cluster_size, 0, 50, 1, 200, 0.57), 0)

मार्करों का रंग निम्नानुसार परिभाषित किया गया है: -

coalesce(ramp_color('custom ramp',scale_linear( @cluster_size, 0, 50, 0, 1), '#000000')

मैंने अब तक क्या कोशिश की है: -

  • प्रतीक स्तर - कोई भाग्य नहीं; एक चर नाम का चयन करने में असमर्थ।
  • लेयर रेंडरिंग> कंट्रोल फीचर रेंडरिंग ऑर्डर और सॉर्ट के रूप में @cluster_size चुनें । एक प्रभाव नहीं दिखाई देता है।
  • @Cluster_size का उपयोग करके स्नातक की गई शैली, क्योंकि अभिव्यक्ति काम नहीं करती है।

क्या किसी को पता है कि क्या यह संभव है, या यह इस विशेष रेंडरर के साथ एक सीमा है?

मुझे पता है कि ऐसा करने के कई अन्य तरीके हैं (बफर / स्थानिक जुड़ाव, प्लगइन्स), लेकिन नया रेंडरर बहुत तेज होना चाहिए। या मैं कुछ स्पष्ट अनदेखी की है? :)


यह संभवतः विशेषता तालिका में आदेश को ध्यान में रखकर काम करता है। शायद आप उन्हें आरोही क्रम में व्यवस्थित करते हैं ताकि सबसे बड़े लोगों को सबसे नए के रूप में प्रस्तुत किया जाए? यदि कोई फ़ंक्शन 'विशेषता के आधार पर क्रमबद्ध करें' नहीं है, तो आप MMQGIS प्लगइन की कोशिश कर सकते हैं (यदि इसके qgis 3 के लिए उपलब्ध है)
Revo

साभार @Revo यह एक विशेषता (क्लस्टर प्वाइंट रेंडरर के साथ) पर आकार और सॉर्ट करना संभव लगता है, लेकिन यह केवल एक पैमाने पर काम करता है। मैंने क्लस्टर_साइज़ का उपयोग करने का प्रयास किया क्योंकि क्लस्टर साइज़ रेंडरर का उपयोग करते हुए क्लस्टर साइज़ गतिशील रूप से बदलते हैं। मैं MMQGIS पर एक नज़र डालूंगा (यह QGIS 3 के लिए उपलब्ध है)
स्टीवन केए

जवाबों:


2

ऐसा लगता है जैसे बिंदु क्लस्टर कार्यान्वयन मूल रूप से इसके लिए अनुमति नहीं देता है।

बिंदु क्लस्टर रेंडरर पर विचार करें - यह अनिवार्य रूप से विश्लेषण करता है और क्लस्टर डेटा प्रस्तुत करता है, एक नई छद्म परत का निर्माण करता है। यह परत उपयोगकर्ता के लिए सुलभ नहीं है। कोई एक संकुल बिंदु को क्वेरी नहीं कर सकता है। कोई फ़ील्ड @cluster_size विशेषता की गणना नहीं कर सकता है ।

बिंदु क्लस्टर रेंडरर नियंत्रण सुविधा रेंडरिंग ऑर्डर ( QgsFeatureRequest :: OrderByClause) का उपयोग करते हुए स्रोत से ऑर्डर को इनहेरिट करता है, जो विशेषताओं और अभिव्यक्तियों का उपयोग करते हुए कुछ चालाक वर्कअराउंड की संभावना को खुला छोड़ देता है, हालांकि कुछ ऑर्डरिंग योजनाओं को संगत होने की गारंटी नहीं है।

एक उदाहरण के रूप में, "अक्षांश" विशेषता द्वारा आरोही क्रम के साथ एक बिंदु परत पर विचार करें। अधिक नॉर्थली पॉइंट्स को अधिक समरूप बिंदुओं के साथ प्रस्तुत किया जाता है। बिंदु क्लस्टर रेंडरर में इसकी नई विशेषताओं के लिए "अक्षांश" विशेषता नहीं है, हालांकि यह स्रोत से उस आदेश के कुछ अंश विरासत में मिलेगा। ऐसे उदाहरण हो सकते हैं जब मूल बिंदुओं के क्रम के कारण अधिक समवर्ती क्लस्टर अधिक नॉर्थरली क्लस्टर प्रदान करते हैं।


धन्यवाद। यह एक बहुत ही स्पष्ट व्याख्या है, जो मेरे सवाल का जवाब भी देती है कि क्या यह एक गुणसूत्र बिंदुओं से एक विशेषता की गणना करना संभव है, अर्थात प्रत्येक मूल बिंदु से जुड़ी आबादी का एक योग। स्पष्ट रूप से नहीं .... अभी तक? हालांकि यह एक बहुत ही उपयोगी सुविधा होगी। किसी भी विचार को कैसे कुछ स्मार्ट वर्कअराउंड के साथ प्राप्त किया जा सकता है (जिसे कोडिंग की आवश्यकता नहीं होती है, क्योंकि मैं स्थिर रूप से भी नहीं हूं) (अभी तक, फिर से?) अच्छा है। मैं क्लस्टर-रेंडरर द्वारा किए गए तरीके से क्लस्टर पॉइंट्स के लिए टूल खोजने के लिए संघर्ष कर रहा हूं
dorakiara J

सामान्यतया, आप विशेषताओं का उपयोग करके 'रेंडर कंट्रोल रेंडरिंग ऑर्डर' फंक्शन के साथ मिलकर क्लस्टर रेंडरर क्या करते हैं, इसकी प्रतिकृति बनाकर संपर्क कर सकते हैं। एक मोटा पहला पास बिंदु परत को बफर करने के लिए हो सकता है, अंक परत में एक विशेषता के रूप में बफ़र किए गए बहुभुज में बिंदुओं की गणना करें। इस विशेषता के द्वारा आरोही क्रम को नियंत्रित करें। थोड़ा बोझिल और जरूरी नहीं कि विभिन्न पैमानों पर काम करे।
CrystallineEntity

मैं आपको एक सुविधा अनुरोध करने के लिए भी प्रोत्साहित करूंगा, जो @cluster_size पद्धति को 'कंट्रोल सुविधा रेंडरिंग ऑर्डर' फ़ंक्शन के लिए उजागर करेगा।
CrystallineEntity
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.