よかったらフォローしてください
私の友人の多くはOBJECTID、FID、OIDの違いが 分からず、それらを適用および管理する方法を知りません。今日はそれを明確にしましょう。
ArcGIS Desktop 製品では、スタンドアロン テーブルと属性テーブルの両方に、 各レコードを識別する一意の長整数を含むObjectIDフィールドが必要です。 この ID は Esri ソフトウェアによって管理されており、手動で変更することはできません。
01 3つのIDをデータに反映
シェープファイル、ジオデータベース フィーチャクラス、およびスタンドアロン テーブルでは、 ObjectID の必要性が異なる方法で処理されます。
1. シェープファイルの「FID」フィールドには ObjectID が含まれており、値は 0 から始まります。
2. ジオデータベース フィーチャクラスまたはジオデータベース内のスタンドアロン テーブルでは、「OBJECTID」フィールドに ObjectID が含まれており、値は 1 から始まります。
3. スタンドアロンの dBase テーブルでは、「OID」フィールドに ObjectID が含まれており、値は 0 から始まります。
02 3つのIDの変更方法
ArcGIS Desktop を通じてデータを編集する場合、ObjectID フィールドごとに機能が異なります。
1. シェープファイル内のレコードが削除されると、FID は 0 から始まり、順番に増加するように再番号付けされます。数字にスペースは入れません。
2. ジオデータベース フィーチャクラスまたはジオデータベース テーブル内のレコードを削除した場合、OBJECTID の番号は付け直されず、リスト内のギャップは依然として存在します。
3. dBase テーブルのレコードが削除されると、OID は 0 から再番号付けされます。数字にスペースは入れません。
データ変換により、ObjectID が書き換えられます。
4. ジオデータベース フィーチャクラスをシェープファイル形式にエクスポートまたは変換する場合、またはジオデータベース テーブルを dBase 形式にエクスポートする場合、出力シェープファイルまたはテーブル内のレコードには 0 から順に番号が付け直されます。
5. ジオデータベース フィーチャクラスをエクスポートまたは変換するか、新しいジオデータベース フィーチャクラスに変換する場合、あるいはジオデータベース テーブルを新しいジオデータベース テーブルにエクスポートまたは変換する場合、出力フィーチャクラスまたはテーブルのレコードには 1 から順に番号が付け直されます。
したがって、私はデータをエクスポートして処理することで多くの問題を解決できることを毎日皆さんに伝えています。
6. 注意してください。!!!テーブルを結合または関連付けるためのフィールドを選択するときは、これらの動作に注意することが重要です。FID フィールドと OBJECTID フィールドを使用してシェープファイルがフィーチャクラスに結合されている場合、フィーチャクラスには OBJECTID = 0 のレコードが存在しないため、FID = 0 のシェープファイル レコードはフィーチャクラスのレコードと一致しません。
7. すべての ID を定期的にソートしたい場合は、前回の記事の紹介を参照してください。