概要
同じ属性値を持つフィーチャごとに連番を振るための、ArcPy のサンプル コードをご紹介いたします。
サンプル コード
ここでは、全国市区町村界のポリゴン フィーチャがもつ「KEN」フィールドごとに、「Sub_ID」フィールドに対して連番を入力した例を挙げます。
# coding:cp932
import arcpy
# 変数の設定
fc = r"C:gis_workTestData.gdbJapan"
category_fld = 'KEN' # グルーピングして入力するためのテキスト フィールド
subID_fld='Sub_ID' # 連番の入力先となるフィールド
vals = []
flds = [category_fld,subID_fld]
rec=0
def autoIncrement():
global rec
pStart = 1
pInterval = 1
if (rec == 0):
rec = pStart
else:
rec+= pInterval
return rec
curU = arcpy.da.SearchCursor(fc,flds)
for row in curU:
vals.append(row[0])
del curU
vals=set(vals)
for i in vals:
curU=arcpy.da.UpdateCursor(fc,flds,category_fld+" = '%s'"%i)
for row in curU:
#row[1] = i+" "+str(autoIncrement())
row[1] = str(autoIncrement())
curU.updateRow(row)
del curU
rec=0
print u"処理が終わりました。"
※ こちらはサンプル コードであり、実行時に発生したエラーの対処方法につきましては、サポート対象外とさせていただきます。なお、サンプル コードを利用して生じたいかなる損害についても弊社では責任を負いかねます。
このナレッジはお役に立ちましたか?
フィードバックをいただきありがとうございます!