データに規定した順序に基づいて新しいシーケンシャル ID を発行するコード行が必要です。基本的に、好みに合わせてデータを並べ替えた後、元の Object_Id は意味のある順序ではなくなりました。私のテーブルでは、新しいフィールド (短い整数) を作成しました。フィールド計算機の事前ロジック スクリプト ボックスで、次のことを試みました。
counter = 0
def uniqueID():
global counter
counter += 1
return counter
しかし、それはうまくいかないようでした..私のテーブルがどのように見えるかの小さなサンプルは次のとおりです:(視覚化のため)
Object_ID / MMSI / TIME / VESSEL / NEW_ID
1210 4444 01/10/10 01 NuLL
1801 4444 02/10/10 01 NuLL
303 4444 03/10/10 01 NuLL
2839 4444 03/10/10 01 NuLL
32100 5555 01/10/10 03 NuLL
34 5555 02/10/10 03 NuLL
本質的に、これらの NuLL を 1、2、3、4... などにする必要があります。これは、データが好みに合わせて並べられているためです (最初は MMSI 番号順/MMSI 内で日付順)。
したがって、次のようになります: (New_ID フィールドが入力されていることに注意してください)
Object_ID / MMSI / TIME / VESSEL / NEW_ID
1210 4444 01/10/10 01 1
1801 4444 02/10/10 01 2
303 4444 03/10/10 01 3
2839 4444 03/10/10 01 4
32100 5555 01/10/10 03 5
34 5555 02/10/10 03 6
どうすればこれを達成できますか? ありがとう