首页 > 编程知识 正文

arcgis数据源不具有OID字段,arcgis添加oid字段

时间:2023-05-03 07:03:39 阅读:198850 作者:214

ArcGIS中ObjectID,FID和OID字段区别

当我们创建一个Shapefiles(shp), geodatabase feature classes(gdb中的要素类)或独立的dBase表(dbf)时,ArcGIS会自动为上述三种格式创建一个ID字段,这个ID是由ArcGIS来管理,是不能手动更改或删除的。它被用于指定Shapefiles, geodatabase feature classes或dBase表中的每条记录。因此这个ID是唯一的。

我们日常工作中经常会面对三种ArcGIS中的ID,分别是FID、OBJECTID和OID。他们之间的区别是什么呢?

说明一下,图中ID可以理解为属性内容,它与FID、OBJECTID和OID都没有任何关系,示例数据没有做好命名,若造成误导还请理解。

FID

FID存在于shapefile中,它的值从0开始。

在shapefile中新增一个图形,则属性表中相应的增加一条记录,该记录的FID按顺序编号。

在shapefile中删除一条记录时,FID会重新编号,编号之间保持顺序,没有间隔。

如下图所示,删除了FID为2的记录,则其余FID重新编号。

如下图所示,对FID为1的图形进行切割后,生成了新的图形被赋值为新FID-4。

需要注意的是,当编辑状态下,会因为某些不知道的什么原因,显示出现BUG,甚至连记录的数量都显示不正确。当出现这种情况时,我们只需要保存编辑,重新打开即可。 OBJECTID

OBJECTID存在于.gdb数据库中的geodatabase feature classes(要素类)或geodatabase table(表)中,它的值是从1开始。

如果一个 geodatabase feature class 或者一个 geodatabase table中的一条记录被删除了, OBJECTID不会重新编号, 并且列表中的间隔会保存。

如下图所示,删除了FID为3的图形后,OBJECTID并没有重新编号。

如下图所示,对2和4图斑进行了多次切割,新生成的图形,其OBJECTID按现有记录继续向下编号,没有占用之前删掉的OBJECTID-3。

同样在.gdb数据中新建Table表,对表进行编辑时,OBJECTID不会重新编号, 并且列表中的间隔会保存。

OID OID存在于独立的dBase表格中,格式为.dbf,它的值是从0开始当dBase表格中的一条记录被删除了,OID会从0开始重新编号,编号之间没有间隔。 三者之间的转换

当一个geodatabase feature class被导出或者转换成shapefile的格式,输出shapefile中的记录将被从0开始按顺序重新编号。

我们将之前OBJECTID为1/2/4/5/6/7的要素类导出为shapefile格式,查看其属性表变化如下:

可以看到导出后的shapefile新增了一个FID字段,且编号从0开始顺序编号,中间没有间隔。而其中OBJECTID则继承原要素类的OBJECTID值,并变成了一个可编辑的字段。

当一个geodatabase 表格被导出成dBase格式, 输出dbf表格中的记录将被从0开始按顺序重新编号。

当一个geodatabase feature class被导出或者转换到一个新的 geodatabase feature class, 输出的feature class 中的记录将被从1开始按顺序重新编号。

可以看到将geodatabase feature class导出到另一个gdb数据库中后,OBJECTID被从1开始重新编号。也就是说一组数据经过两个数据库之间的转换后,如果直接按OBJECTID进行连接将有可能不再准确对应(原geodatabase feature class进行过删减操作)。

当一个geodatabase table 被导出或者转换到一个新geodatabase table, 输出的table中的记录将被从1开始按顺序重新编号。

当一个shapefile导入或转换到geodatabase feature class中,输出的feature class中将没有FID,会出现一个OBJECTID,并从1开始重新编号。

在选择字段用来Join或者Relate表格的时候,需要注意这些特点。如果一个 shapefile要使用FID 和 OBJECTID 来Join到一个feature class, 由于feature class 没有一条记录是OBJECTID = 0,所以shapefile的FID = 0的记录将不会与feature class 中的任何一条记录相匹配。

-END-

更多内容请关注LearnGIS公众号

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。