ArcGIS डेस्कटॉप में परिभाषा क्वेरीज़ की टिप्पणी करना?


10

मैं अपने दैनिक जीआईएस जीवन में परिभाषा क्वेरी का बहुत उपयोग करता हूं, लेकिन कई चीजों में से एक जो मैंने आर्कपाउट के बारे में कष्टप्रद पाया है, परिभाषा क्वेरीज़ को टिप्पणी करने में असमर्थता है। मुझे यह विकल्प पसंद है क्योंकि कभी-कभी मैं परिभाषा क्वेरी को चालू / बंद करना चाहता हूं या मैं एक एकल आकार के लिए कई क्वेरी करना चाहता हूं, लेकिन एक समय में केवल एक सक्रिय।

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

जैसा कि मैं समझता हूं, परिभाषा प्रश्न SQL में लिखे गए हैं। एसक्यूएल में टिप्पणी करने के लिए मेरा मानना ​​है कि आप या तो इसके साथ एक पंक्ति शुरू करते हैं: - या कोष्ठक में एक कथन शामिल करें: {} । मैंने इन दोनों को आज़माया है:

Original: "DATA_AQUISITION" LIKE 'MISSING XSECTION'
Dashes:   --"DATA_AQUISITION" LIKE 'MISSING XSECTION'
Brackets: {"DATA_AQUISITION" LIKE 'MISSING XSECTION'}

पिछले दो कथन SQL अभिव्यक्ति त्रुटि लौटाते हैं और ArcMap में आकर्षित नहीं होंगे। मैं एक प्रोग्रामिंग समाधान की तलाश में नहीं हूं, क्योंकि यह बहुत अधिक काम होगा।


2
मेरे पास इस प्रणाली पर ArcGIS की जाँच करने के लिए नहीं है, लेकिन 'OR 1 = 1' या शायद ऑब्जेक्ट> -1 जैसे कुछ काम करता है?
देवदत्त तेंग्शे

@DevdattaTengshe जो बहुत अधिक काम करता है "OBJECTID" <> -1 OR "DATA_AQUISITION" LIKE 'MISSING XSECTION'वह एक क्वेरी के बाहर टिप्पणी करता है: यह एक महान समाधान है, लेकिन मैं एक ऐसी चीज की तलाश कर रहा हूं जो वास्तविक टिप्पणी से अधिक पसंद आती है । कोड की हर भाषा में कुछ किया जा सकता है, जहां आपके पास विभिन्न लाइनों पर कई क्वेरी विकल्प होते हैं और सभी पर एक टिप्पणी की जाती है। यदि यह संभव नहीं है, तो यह हो सकता है, लेकिन मेरा मानना ​​है कि यह एक शानदार विकल्प होगा।
कोड़ी ब्राउन

जवाबों:


6

बस एक अनुमान है, लेकिन यह टिप्पणी करने का कारण यह काम नहीं करता है, क्योंकि एक परिभाषा क्वेरी सिर्फ एक बड़ा SQL कथन है जहां आर्कगिस द्वारा आंतरिक रूप से बनाया गया है जब भी अंतर्निहित डेटाबेस को क्वेरी करने की आवश्यकता होती है, उदाहरण के लिए परत को आकर्षित करना। । जब आप टिप्पणी वर्ण जोड़ते हैं, तो ArcGIS अभी भी WHERE क्लॉज और अंतर्निहित DB शैतान जोड़ता है क्योंकि यह मान्य SQL नहीं है।

क्वेरी बिल्डर डायलॉग पर लोड और सेव बटन हैं। सहेजें एक .exp फ़ाइल बनाता है जिसे आप फिर लोड बटन के साथ लोड कर सकते हैं। यह शायद कुछ और क्लिक हैं जिनकी आप शायद तलाश कर रहे हैं लेकिन यह कुछ है।


यह सच है कि यह एक बड़े बयान का हिस्सा है। यह बहुत संभव है कि जब हम टिप्पणी जोड़ते हैं तो DB भड़क जाता है, लेकिन मुझे पता है कि अन्य कार्यक्रमों में यह संभव है जो किसी कथन के बीच में टिप्पणी जोड़ने के लिए SQL का उपयोग करते हैं। । Px की बचत और लोडिंग कुछ ऐसा है जो मैं पहले इस्तेमाल कर रहा था, लेकिन जैसे आपने कहा कि यह कुछ क्लिक्स है जिसकी मैं तलाश कर रहा हूं। मैं प्रत्येक MXD से जुड़ी कोड और फ़ाइलों की मात्रा को कम करने की कोशिश कर रहा हूं और इसके बजाय इसे बढ़ाऊंगा।
कोड़ी ब्राउन

2
SELECT * FROM table WHEREमान्य SQL नहीं है जो मुझे मिल रहा था। WHERE कीवर्ड के बाद कुछ होना चाहिए, या WHERE कीवर्ड को बिल्कुल नहीं होना चाहिए। अगर परिभाषा परिभाषा में कुछ भी है तो आर्कजीआईएस शायद वहीं जोड़ता है।
ब्लाह 238

मैंने कोशिश की SELECT * FROM table WHERE "OBJECTID" <> -1 --"DATA_AQUISITION" LIKE 'MISSING XSECTION'और SELECT * FROM table WHERE "OBJECTID" <> -1 {"DATA_AQUISITION" LIKE 'MISSING XSECTION'}दोनों में एक ही त्रुटि हुई। यह कुछ निम्नलिखित है WHERE, लेकिन अभी भी टिप्पणियों को संभाल नहीं सकता है।
कोड़ी ब्राउन

1
हुह। खैर जो भी कारण, स्पष्ट रूप से टिप्पणी दृष्टिकोण काम नहीं करेगा।
blah238

4
दरअसल, सी-स्टाइल कॉमेंटिंग सिंटैक्स ऐसा लगता है कि यह काम करता है। उदाहरण के लिए इसे आज़माएँ 1 = 1 /*"DATA_AQUISITION" LIKE 'MISSING XSECTION'*/:। ओरेकल पर मेरे लिए काम किया। 1 = 1भाग की जरूरत है, सिर्फ टिप्पणी का उपयोग कर (अभिव्यक्ति त्रुटि लापता) काम नहीं करता।
३० बजे ब्लाह २३

4

जब तक आपकी परिभाषा क्वेरी में आपके पास कुछ है, तब तक ब्लॉक टिप्पणी / .. / काम करने लगती है। यदि आप सब कुछ टिप्पणी करते हैं, तो आपको अपनी टिप्पणी लाइनों से पहले 1 = 1 लगाने की आवश्यकता है

उदाहरण:

सभी ने टिप्पणी की:

1=1  
/*  
  and ASSIGNMENT_STATUS <> 'Closed' 
  and DEVICE_TYPE = 'device'     
  and ASSIGNED_TO = 'somebody'    
*/

1 अधूरा, 2 ने टिप्पणी की:

ASSIGNMENT_STATUS <> 'Closed' 
/* 
  and DEVICE_TYPE = 'device'     
  and ASSIGNED_TO = 'somebody'    
*/

2 अधूरे, 1 ने टिप्पणी की:

ASSIGNMENT_STATUS <> 'Closed' 
DEVICE_TYPE = 'device'
/*      
  and ASSIGNED_TO = 'somebody'    
*/

बस "/ " और " /" चारों ओर ले जाएँ।


1

XTools pro, एक गैर-ईएसआरआई ऐड-ऑन में एक विशेषता है जो एक परत पर / बंद परिभाषा डेरी को टॉगल करने में सक्षम बनाता है। बहुत उपयोगी।

आप लेयर प्रॉपर्टीज "जनरल" टैब में अपने डिफिनेशन क्वेरी को कॉपी / पेस्ट भी कर सकते हैं। "विवरण" के लिए एक खिड़की है जो अक्सर अप्रयुक्त होती है। जब मुझे उन्हें बंद करने की आवश्यकता होती है, तो मैं अक्सर अपनी परिभाषा प्रश्नों को कॉपी / पेस्ट करता हूं। दस्तावेज़ में सहेजे गए हैं


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