বৈশিষ্ট্য শ্রেণীর মধ্যে গোষ্ঠীগুলির উপর ভিত্তি করে অটো বর্ধমান ক্ষেত্র?


10

বৈশিষ্ট্য শ্রেণীর মধ্যে গোষ্ঠীগুলির ভিত্তিতে আমার একটি ক্ষেত্র স্বয়ংক্রিয়ভাবে বাড়ানো দরকার। আমার প্রদত্ত বহুভুজের মধ্যে 8 টি প্লট রয়েছে এবং প্রতিটি বহুভুজের মধ্যে প্লটের প্রতিটি সেটের জন্য তাদের 1-8 থেকে আইডি নির্ধারণ করতে হবে। বহুভুজের প্লটগুলি গোষ্ঠীভুক্ত করার জন্য তার নিজস্ব অনন্য আইডি নম্বর থাকবে।

আমি ধরে নিলাম এটি এর পরিবর্তিত হবে:

rec=0
def autoIncrement():
 global rec
 pStart = 1 
 pInterval = 1 
 if (rec == 0): 
  rec = pStart 
 else: 
  rec = rec + pInterval 
 return rec

1
আপনি সম্ভবত পাইথন ( %) এর মডুলাস অপারেটরটি ব্যবহার করতে চান
— ভিনস

উত্তর:


12

পাইথনের ফিল্ড ক্যালকুলেটর

d={}
def GroupOrder(groupID):
  if groupID in d: d[groupID]+=1
  else: d[groupID]=1
  return d[groupID]

---------------------------

GroupOrder( !locality! )

পরিবর্তন! লোকালয়! প্রাসঙ্গিক ক্ষেত্রে।

আপডেট: প্রকাশের এই প্রকরণ:

d={}
def GroupOrder(groupID):
  N=d.get(groupID,0);N+=1
  d[groupID]=N
  return N

বড় ডেটাসেটগুলিতে আরও দ্রুত কাজ করা উচিত।


গ্রুপঅর্ডার ফাংশনটি যদি এককভাবে পাইথন স্ক্রিপ্টে ব্যবহার করা হয় তবে GroupOrderফাংশনটি code blockআর্গুমেন্ট হবে এবং এটি GroupOrder( !locality! )হবে 'এক্সপ্রেশন' যুক্তি।
— ব্যবহারকারী 3467260

স্ক্রিপ্টে এটি হ'ল: ক) অভিধান তৈরি করুন খ) 2 টি ক্ষেত্রের গ্রুপে আপডেট কর্সার এবং একটিতে পপুলেশন করা। কোড 3-5 লাইন।
— ফেলিক্সআইপি

1
আমি আমার মন্তব্যে উল্লেখ করতে অবহেলা করেছি যে এই যুক্তিগুলি আরকি ক্যালকুলেট ফিল্ড সরঞ্জামটিতে অন্তর্ভুক্ত করা হবে: arcpy.CalculateField_management(inTable, fieldName, expression, "PYTHON_9.3", codeblock)যদি একা একা স্ক্রিপ্টে ব্যবহৃত হয়। আপনার কোডটি এককভাবে স্ক্রিপ্টে ব্যবহার করার জন্য আলাদা পদ্ধতির পদক্ষেপগুলি বর্ণনা করার জন্য ধন্যবাদ।
— ব্যবহারকারী 3467260

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