理解ArcGIS中不同ID的區(qū)別及使用方式
在使用ArcGIS Desktop時(shí),常常會(huì)遇到ObjectID、FID和OID這幾個(gè)字段,對(duì)于許多用戶來(lái)說(shuō),這些ID的作用和區(qū)別可能會(huì)帶來(lái)困惑。在ArcGIS中,每一個(gè)獨(dú)立的表和屬性表都會(huì)有一個(gè)Ob
在使用ArcGIS Desktop時(shí),常常會(huì)遇到ObjectID、FID和OID這幾個(gè)字段,對(duì)于許多用戶來(lái)說(shuō),這些ID的作用和區(qū)別可能會(huì)帶來(lái)困惑。在ArcGIS中,每一個(gè)獨(dú)立的表和屬性表都會(huì)有一個(gè)ObjectID字段,這個(gè)字段是由ESRI軟件管理的,包含唯一的長(zhǎng)整型數(shù)值來(lái)指定每一條記錄。但在不同類型的數(shù)據(jù)存儲(chǔ)中,ObjectID的處理方式有所不同。
ObjectID在不同數(shù)據(jù)存儲(chǔ)格式中的表現(xiàn)
- 在shapefile中,F(xiàn)ID字段實(shí)際上包含了ObjectID,其值從零開(kāi)始依次遞增。
- 在geodatabase feature class或獨(dú)立表格中,OBJECTID字段包含ObjectID,但值從1開(kāi)始計(jì)數(shù)。
- 而在獨(dú)立的dBase表格中,OID字段包含ObjectID,同樣從零開(kāi)始編號(hào)。
不同ObjectID字段的功能差異
當(dāng)編輯數(shù)據(jù)時(shí),各種ObjectID字段的功能也存在差異:
- 在shapefile中,如果刪除了某條記錄,F(xiàn)ID將重新編號(hào),值會(huì)按順序緊湊遞增,沒(méi)有間隔。
- 在geodatabase feature class或geodatabase table中,刪除記錄不會(huì)重新編號(hào)OBJECTID,保留原有間隔。
- 對(duì)于dBase表格,刪除記錄后,OID將從零開(kāi)始重新編號(hào),同樣沒(méi)有間隔。
數(shù)據(jù)轉(zhuǎn)換對(duì)ObjectID的影響
- 當(dāng)將geodatabase feature class導(dǎo)出或轉(zhuǎn)換為shapefile格式,或?qū)eodatabase表格導(dǎo)出為dBase格式時(shí),輸出的記錄將從0開(kāi)始重新編號(hào)。
- 轉(zhuǎn)換為新的geodatabase feature class或table時(shí),記錄編號(hào)將從1開(kāi)始按順序重新分配。
需要注意的是,當(dāng)選擇字段用于Join或Relate表格時(shí),應(yīng)當(dāng)考慮以上特點(diǎn)。如果一個(gè)shapefile要通過(guò)FID和OBJECTID與feature class連接,由于feature class沒(méi)有OBJECTID為0的記錄,shapefile中FID為0的記錄將無(wú)法匹配任何feature class記錄。
通過(guò)以上了解,可以更好地利用ArcGIS中不同ID的特性,確保數(shù)據(jù)處理和關(guān)聯(lián)的準(zhǔn)確性和高效性。