लेबल क्लासेस बनाम परिभाषा प्रश्नों का उपयोग करना - जो सबसे अच्छा प्रदर्शन करता है?


11

जो आर्कस्पेस के भीतर काम करने के लिए सबसे अच्छा प्रदर्शन प्रदान करेगा, जिसमें आर्कसोडे जियोडेटाबेस में संग्रहीत बहुत बड़े डेटासेट हैं? विशिष्ट विशेषताओं को लेबल करने के लिए जटिल एसक्यूएल प्रश्नों का उपयोग करने वाले एकाधिक लेबल कक्षाएं, या प्रत्येक परत के लिए परिभाषा क्वेरी के रूप में सेट किए गए समान जटिल एसक्यूएल प्रश्नों का उपयोग करके एक ही परत की कई प्रतियां?


2
मुझे लगता है कि "एक ही परत की कई प्रतियाँ प्रत्येक अपनी परिभाषा क्वेरी और सरल क्षेत्र आधारित लेबलिंग के साथ" पसंदीदा के रूप में चली जाएंगी, लेकिन मेरे पास कोई भी मैट्रिक्स नहीं है जो उस भावना को महसूस कर सके इसलिए मुझे लगता है कि यह एक महान प्रश्न है। एक मिलियन पॉलीगॉन के साथ एक फाइल जियोडैटेबेस सुविधा वर्ग आपके संसर्ग में एक बहुत बड़े डेटासेट के रूप में योग्य होगा?
PolyGeo

जवाबों:


5

लेबल कक्षाओं पर एसक्यूएल प्रश्नों को मानने के रूप में समान हैं जो विभाजन परतों पर हैं, एकाधिक लेबल कक्षाओं के साथ एकल परत दृष्टिकोण तेज होगा। क्यों?:

ArcMap में लेबलिंग परत ड्रा के लिए एक क्वेरी और फिर प्रत्येक लेबल वर्ग के लिए एक क्वेरी निष्पादित करेगा। तो 4 लेबल कक्षाओं के साथ एक परत सभी विशेषताओं के लिए एक बार (1 क्वेरी) खींची जाएगी और फिर 4 अतिरिक्त बार कुल (प्रत्येक लेबल वर्ग या 4 अधिक प्रश्नों के लिए) = 5 कुल प्रश्न

यदि आप परतों को विभाजित करते हैं, तो आपके पास प्रत्येक परत (4 क्वेरी) के लिए 1 फ़िल्टर्ड क्वेरी (परिभाषा क्वेरी) होगी और प्रत्येक लेबल वर्ग के लिए समान क्वेरी (4 अधिक प्रश्न) = 8 कुल प्रश्न

लगभग सभी मामलों में, 5 प्रश्न केवल सादे क्वेरी ओवरहेड के कारण 8 प्रश्नों से अधिक तेज़ होंगे, हालांकि यह डेटा स्रोत पर निर्भर करता है।

ध्यान दें, आर्कजीस सर्वर में फीचर लेबलिंग के लिए एक कैश का उपयोग किया जाता है और 4 लेबल कक्षाओं के साथ 1 परत को सबसे अधिक संभावना एक क्वेरी के माध्यम से नियंत्रित किया जाएगा जब लेबल वर्ग विक्रेता विशिष्ट कार्यों के बिना काफी मानक एसक्यूएल का उपयोग करते हैं।


2
लेकिन, परिभाषा क्वेरी परिदृश्य के साथ, मैं लेबल कक्षाएं नहीं बनाऊंगा। उन्हें केवल एक फ़ील्ड मान के आधार पर लेबल किया जाएगा। या क्या मैं तीसरा पैराग्राफ गलत पढ़ रहा हूं?
१ian:56 पर अयनाबोड

एसक्यूएल द्वारा परिभाषित सुविधाओं के एक सबसेट को लेबल करने के लिए लेबल कक्षाओं का उपयोग किया जाता है जहां क्लॉज (एक परिभाषा क्वेरी के समान) और उनके स्वयं के पाठ प्रतीक, लेबल अभिव्यक्ति और प्लेसमेंट नियम हैं। यह आपके विवरण से मुझे स्पष्ट नहीं है कि कक्षाओं से एक परिभाषा क्वेरी में जाने से आपको केवल एक ही क्षेत्र पर लेबल लगाने की अनुमति मिलती है। क्या आप जटिल लेबल अभिव्यक्तियों का जिक्र कर रहे हैं जो जटिल एसक्यूएल प्रश्न नहीं हैं?
क्रेग विलियम्स

1
नहीं, मेरा मतलब है कि दोनों परिदृश्यों के लिए, न ही एक लेबल अभिव्यक्ति का उपयोग करता है। दोनों को एक ही क्षेत्र का उपयोग करके लेबल किया गया है।
अनबारोड

4
मैं Esri में लेबलिंग टीम पर काम करता हूं। मैं इस बात से परिचित हूं कि यह कैसे काम करता है। क्वेरी का स्थान कॉल करने से प्रदर्शन प्रभावित नहीं होगा, लेकिन आप कुल प्रश्नों को कम करना चाहेंगे।
क्रेग विलियम्स

1
मुझे लगता है कि मैं आपका जवाब अब क्रेग समझ गया हूं, लेकिन मुझे आश्चर्य है कि अगर इसे फिर से बनाने का कोई तरीका है तो इसे समझना आसान हो जाएगा। मुझे अपने गणित को महसूस करने के लिए इसे कुछ बार पढ़ना पड़ा, वास्तव में शायद यह गलत नहीं है जैसा कि मैंने और दूसरों ने पहले सोचा था।
jmpreiks

2

मैंने एसडीई कनेक्शन से आने वाले कुछ एनएचडी डेटा का उपयोग करके कुछ बहुत ही सरल परीक्षण किए और दोनों में विधि के बीच बहुत कम अंतर पाया गया।

  1. एक एकल परत में 7 लेबल कक्षाएं, 7 अलग सहजीवन भी: 36 सेकंड
  2. 7 परिभाषा क्वेरी के साथ अलग परतें, बिना किसी क्वेरी के प्रत्येक में एकल लेबल वर्ग: 37 सेकंड

कुछ चेतावनी:

  1. सरल लेबल और सरल प्रश्नों के साथ मेरा परीक्षण बहुत सरल था, जटिल प्रश्नों का परीक्षण किया जाना चाहिए क्योंकि यह प्रश्न का हिस्सा था।
  2. कुल समय का लगभग एक तिहाई सिम्बॉलिज्म ड्रॉ करने के लिए था।
  3. मेरी टाइमिंग एक स्टॉप वॉच के साथ थी इसलिए त्रुटि का मार्जिन बहुत बड़ा है।

आपके परीक्षणों के लिए +1। मुझे आश्चर्य है कि अगर इससे कोई फर्क पड़ता है कि क्या लेबल टकराव होता है या नहीं? शायद आप फ़ॉन्ट का आकार बड़ा कर सकते हैं, ताकि बहुत सी लटें ओवरलैप हो जाएं। फिर जगह ओवरलैपिंग लेबल विकल्प को अक्षम करें। क्या अब कोई अंतर है?
जेन्स

1
वास्तव में मेरे परीक्षणों में बहुत सारे लेबल संघर्ष थे क्योंकि मुझे वास्तव में लंबे प्रसंस्करण समय प्राप्त करने के लिए काफी हद तक दिखाना था जिसे मैं आसानी से माप सकता हूं।
जम्परेक्स

1
"कोई लेबल वर्ग" जैसी कोई चीज नहीं है क्योंकि हमेशा एक होता है।
क्रेग विलियम्स

ट्रू क्रेग, मैंने अपना उत्तर स्पष्ट करने के लिए संपादित किया।
jmpreiks

1

मुझे लगता है कि परिभाषा क्वेरी तेजी से होगी क्योंकि यह ऑब्जेक्ट स्तर पर है और विशेषता डेटा स्तर पर नहीं है।

आपको अभी भी परीक्षण करना होगा। हालाँकि मैं परिभाषा प्रश्नों का उपयोग करूंगा और कक्षाओं का लेबल नहीं।


1
हां, कृपया परीक्षण करें (और यदि आप कर सकते हैं तो रिपोर्ट करें)। मैं प्रश्नों को परिभाषा देने के लिए झुकता हूं, लेकिन प्रयोज्य प्रदर्शन कारणों से। लेबल एक्सप्रेशन डायलॉग पीड़ादायक रूप से सुस्त होते हैं और कई क्लिक लेयर्स की तुलना में डीप क्वेरी से अधिक गहरे होते हैं। वे भी अजगर में पाने के लिए आसान कर रहे हैं।
मैट विल्की

मुझे नहीं लगता कि यह बिना किसी तकनीकी आधार या मात्रात्मक परीक्षण के उत्तर के रूप में योग्य है। यह कुछ लोगों को गुमराह कर सकता है। मूल प्रश्न के लिए एक टिप्पणी के रूप में बेहतर होता।
jmpreiks

मैंने ऐसा किया होता अगर मैं टिप्पणी करने की क्षमता रखता। डाउन वोट के लिए धन्यवाद। बस मदद करने की कोशिश कर रहा है।
जियोगेक्ट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.