আরকিপি থেকে আরকিপি ফলাফল অবজেক্টটি কাস্ট করা হচ্ছে? পরিবর্তে পূর্ণসংখ্যা হিসাবে গেটকাউন্ট_ম্যানেজমেন্ট ()?


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

ফলাফল অবজেক্টে নিম্নলিখিত পদ্ধতিটি ব্যবহার করুন এবং আপনি ইন্টেন্ট হিসাবে কাস্ট করতে সক্ষম হবেন:

.get আউটপুট (0) একটি সরঞ্জামের প্রথম সূচক অবস্থানে মানটি ফিরিয়ে দেবে।

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


3

গেটকাউন্ট কোনও পূর্ণসংখ্যা বা স্ট্রিংকে নয় একটি ফলাফল অবজেক্ট দেয়।

স্ট্রিং পেতে আপনি ফলাফল অবজেক্টের getOuput পদ্ধতিটি ব্যবহার করেন এবং এর প্রথম অংশটি টানুন। অন্য কোনও অংশ দেখতে 0, 1, 2 ইত্যাদির জন্য সুইচ করার চেষ্টা করুন etc.

যদি আপনার সেই স্ট্রিংটিকে পূর্ণসংখ্যায় রূপান্তর করতে হয় তবে একটি (ফাংশন) ব্যবহার করুন।

ফলাফল অবজেক্ট এবং এর getOutput পদ্ধতি সম্পর্কে আরও জানার জন্য অনলাইন সহায়তাটির পরামর্শ নেওয়া উচিত।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.