ArcGIS Desktop 需要獨立的表和屬性工作表都有一個ObjectID欄位,這個欄位中包含一個唯一的,長整型的數值來指定每一條記錄。這個ID是由ESRI的軟體來管理的,是不能夠手動更改的。
在Shapefiles, geodatabase feature classes, 和獨立的表格中ObjectID的處理方式不同。
---在一個shapefile中, 'FID'欄位包含ObjectID,並且值從零開始。
---在一個geodatabase feature class 或者geodatabase中的獨立的表格中, 'OBJECTID' 欄位包含ObjectID, 值從1開始。
---在一個獨立的dBase 表格中, 'OID' 欄位包含ObjectID, 值從零開始。
在使用ArcGIS Desktop編輯資料的時候,不同的ObjectID欄位的功能不一樣:
---如果一個shapefile中的一條記錄被刪除了, FID會重新編號,這樣這個值會從0開始按順序逐漸增大。編號之間沒有間隔。
---如果一個 geodatabase feature class 或者一個 geodatabase table中的一條記錄被刪除了, OBJECTID不會重新編號, 並且列表中的間隔會儲存。
---如果一個dBase表格中的一條記錄被刪除了,OID會從0開始重新編號。編號之間沒有間隔。
資料轉換導致ObjectID被重寫。
---當一個geodatabase feature class被匯出或者轉換成shapefile的格式,或者當一個geodatabase 表格被匯出成dBase格式, 輸出shapefile或者表格中的記錄將被從0開始按順序重新編號。
---當一個geodatabase feature class被匯出或者轉換到一個新的 geodatabase feature class, 或者當一個geodatabase table 被匯出或者轉換到一個新geodatabase table, 輸出的feature class 或者table中的記錄將被從1開始按順序重新編號。
在選擇欄位用來Join或者Relate表格的時候,需要注意這些特點。如果一個 shapefile要使用FID 和 OBJECTID 來Join到一個feature class, 由於feature class 沒有一條記錄是OBJECTID = 0,所以shapefile的FID = 0的記錄將不會與feature class 中的任何一條記錄相匹配。
轉自:http://www.sharpgis.com/forum-viewthread-tid-4605-page-1.html