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


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.