এটি করার একটি উপায় হ'ল স্তরটি ক্লোন করা, সংজ্ঞা প্রশ্নগুলি ব্যবহার করে এবং পৃথকভাবে লেবেল করা, প্রথম স্তরের উপরের-বামে কেবলমাত্র লেবেল অবস্থান এবং দ্বিতীয়টির জন্য নিম্ন-বাম ব্যবহার করা।
নীচে অভিব্যক্তি ব্যবহার করে স্তরটিতে এফআইএলডি টাইপ পূর্ণসংখ্যা যুক্ত করুন এবং এটি পপুলেট করুন:
aList=[]
def FirstOrOthers(shp):
global aList
key='%s%s' %(round(shp.firstPoint.X,3),round(shp.firstPoint.Y,3))
if key in aList:
return 2
aList.append(key)
return 1
এটিকে কল করুন:
FirstOrOthers( !Shape! )
সামগ্রীর সারণীতে স্তরটির একটি অনুলিপি তৈরি করুন, সংজ্ঞা ক্যোয়ারী THEFIELD = 1 প্রয়োগ করুন।
আসল স্তরটির জন্য সংজ্ঞা কোয়েরি THEFIELD = 2 প্রয়োগ করুন।
বিভিন্ন নির্দিষ্ট লেবেল বসানো প্রয়োগ করুন
মূল সমাধানের মন্তব্যের ভিত্তিতে আপডেট করুন:
ক্ষেত্রের কর্ড যুক্ত করুন এবং এটি ব্যবহার করে পপুলেট করুন
'%s %s' %(round( !Shape!.firstPoint.X,2),round( !Shape!.firstPoint.Y,2))
লেবেলের জন্য প্রথম এবং শেষ ব্যবহার করে এই ক্ষেত্রটি সংক্ষিপ্ত করুন। এই টেবিলটি মূলত COord ক্ষেত্রটি ব্যবহার করে যোগ দিন। রেকর্ডগুলি নির্বাচন করুন যেখানে প্রথম <<> ব্যবহার করে একটি নতুন ক্ষেত্রে প্রথম এবং শেষ লেবেল ব্যবহার করে last
'%s\n%s' %(!Sum_Output_4.First_MUID!, !Sum_Output_4.Last_MUID!)
2 'বিভিন্ন স্তর' এবং ক্ষেত্রগুলি তাদের লেবেল হিসাবে সংজ্ঞায়িত করতে গণনা_কোর্ড এবং THEFIELD ব্যবহার করুন:
@ হর্নবিডিডি সমাধান দ্বারা অনুপ্রাণিত # 2 আপডেট করুন:
import arcpy
def FindLabel ([FID],[MUID]):
f,m=int([FID]),[MUID]
mxd = arcpy.mapping.MapDocument("CURRENT")
dFids={}
dLabels={}
lyr = arcpy.mapping.ListLayers(mxd,"centres")[0]
with arcpy.da.SearchCursor(lyr,["FID","SHAPE@","MUID"]) as cursor:
for row in cursor:
FD,shp,LABEL=row
XY='%s %s' %(round(shp.firstPoint.X,2),round( shp.firstPoint.Y,2))
if f == FD:
aKey=XY
try:
L=dFids[XY]
L+=[FD]
dFids[XY]=L
L=dLabels[XY]
L=L+'\n'+LABEL
dLabels[XY]=L
except:
dFids[XY]=[FD]
dLabels[XY]=LABEL
Labels=dLabels[aKey]
Fids=dFids[aKey]
if f == Fids[0]:
return Labels
return ""
আপডেট নভেম্বর 2016, আশা করি শেষ।
2000 ডুপ্লিকেটগুলিতে এক্সপ্রেশন নীচে পরীক্ষা করা হয়, মোহন এর মতো কাজ করে:
mxd = arcpy.mapping.MapDocument("CURRENT")
lyr = arcpy.mapping.ListLayers(mxd,"centres")[0]
dFids={}
dLabels={}
fidKeys={}
with arcpy.da.SearchCursor(lyr,["FID","SHAPE@","MUID"]) as cursor:
for FD,shp,LABEL in cursor:
XY='%s %s' %(round(shp.firstPoint.X,2),round( shp.firstPoint.Y,2))
fidKeys[FD]=XY
if XY in dLabels:
dLabels[XY]+=('\n'+LABEL)
dFids[XY]+=[FD]
else:
dLabels[XY]=LABEL
dFids[XY]=[FD]
def FindLabel ([FID]):
f=int([FID])
aKey=fidKeys[f]
Fids=dFids[aKey]
if f == Fids[0]:
return dLabels[aKey]
return "