इसके बजाय पूर्णांक के रूप में arcpy.GetCount_management () से आर्किपी परिणाम ऑब्जेक्ट कास्टिंग?


18

मैं एक आकृति में कितने अंक गिनकर एक संख्या प्राप्त करने का प्रयास कर रहा हूं। और यह काम करता है, सिवाय इसके कि मैं उस नंबर का उपयोग करके कहीं और मुसीबत में चल रहा हूं। आखिरकार, मैं कुछ गणित (क्षेत्र कैलकुलेटर) में उस गणना का उपयोग कर रहा हूं, लेकिन डिबगिंग के दौरान मैं एक त्रुटि में चल रहा हूं जो मुझे बाद में परेशान करेगा।

यह कोड:

TotalPoints = arcpy.GetCount_management(Path_Pts)
arcpy.AddMessage(">>>> PROCESS: COUNT PATH POINTS {" + TotalPoints + "}")

यह त्रुटि देता है:

TypeError: cannot concatenate 'str' and 'Result' objects

मैंने इसे एक इंट के रूप में कास्ट करने की कोशिश की, जिसे यह भी पसंद नहीं है:

TypeError: int() argument must be a string or a number, not 'Result'

इसलिए मुझे एक 'परिणाम' ऑब्जेक्ट मिला है और इसे एक नंबर में बदलने की आवश्यकता है।

मैं यह कैसे कर सकता हूं - या यहां आर्कपी फ़ंक्शन का उपयोग अनावश्यक या अत्यधिक जटिल है?

जवाबों:


45

परिणाम विधि पर निम्न विधि का उपयोग करें और आप int के रूप में डाल करने में सक्षम हो जाएगा:

.getOutput (0) किसी टूल की पहली इंडेक्स स्थिति पर मान लौटाएगा।

int(arcpy.GetCount_management(Path_Pts).getOutput(0))


3

GetCount एक रिजल्ट ऑब्जेक्ट देता है और एक पूर्णांक या एक स्ट्रिंग नहीं है।

एक स्ट्रिंग प्राप्त करने के लिए आप परिणाम ऑब्जेक्ट के getOuput विधि का उपयोग करते हैं और इसके पहले भाग को खींचते हैं। किसी अन्य भाग को देखने के लिए 0 को 1, 2, आदि के लिए स्विच करने का प्रयास करें।

यदि आपको उस स्ट्रिंग को पूर्णांक में बदलने की आवश्यकता है, तो एक int () फ़ंक्शन का उपयोग करें।

परिणाम ऑब्जेक्ट और इसके getOutput विधि के बारे में अधिक जानने के लिए ऑनलाइन सहायता से परामर्श किया जाना चाहिए।

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