objectID とは
ObjectID は、ジオデータベースのテーブル内の行を一意に識別するために使用される NULL ではない整数列です。ObjectID は 32 ビット値に制限され、格納できる最大値は 2,147,483,648 です。
ArcGIS で、または ArcGIS 以外で作成し、ArcSDE とジオデータベースに登録したテーブルには、ジオデータベースによって管理される ObjectID 列を持つ必要があります。ObjectID は、ArcGIS が選択セットのスクロールや表示を行ったり、フィーチャでの個別属性の表示を行ったりするために使用します。
ほとんどの ArcGIS Desktop の機能では、ObjectID は一意である必要があるため、直接データベースを操作する場合は、ObjectID の値が重複しないように注意する必要があります。たとえば、1 対多のリレーションシップを持つビューを作成するときに ObjectID が重複する可能性があります。ObjectID が重複している場合、ArcGIS Desktop の機能が正常に動作しなくなります。
適切な ObjectID は 3 つの方法でテーブルに追加できます。
- ジオデータベースが管理する ObjectID 列は、ArcGIS で作成したテーブルに自動的に追加されます。
- ObjectID として使用する列は、sdetable コマンドや sdelayer コマンドでテーブルを ArcSDE に登録するときに指定します。ObjectID には、既存の適切な列を指定することも、新しい ObjectID 列の名前を指定することもできます。新しい列名を指定した場合は、ArcSDE によって、その名前をもつ非 NULL の整数の一意な列がテーブルに追加されます。ObjectID として使用する列を指定するときには、その列を ArcSDE に管理させるか、ユーザ管理にするかについても指定します。注意:
ジオデータベースには、システムで管理される ObjectID が必要です。このため、ジオデータベースへのテーブル登録も行う場合は、管理に ArcSDE を指定して ObjectID を登録してください。ユーザ管理の ObjectID を定義した場合、後でジオデータベースにテーブルを登録するときにジオデータベースによって新しい ObjectID 列が追加されます。ArcSDE にテーブルを登録するときに指定した列がこの新しい ObjectID 列に置き換えられます。これによって、ユーザ定義の ObjectID のデータ タイプも ObjectID から long integer に変更されます。
- 適切な列がないテーブルをジオデータベースに登録すると、ObjectID の要件を満たすようにジオデータベースによってテーブルに別の列が追加されます。テーブルに ObjectID という名前の列がすでに格納されている場合には、OBJECTID_ という名前の列が追加されます。