免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 3576|回复: 2
收起左侧

[资料] ObjectID,FID和OID字段的区别

[复制链接]

2

主题

2317

铜板

3

好友

VIP会员

Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23

积分
235
发表于 2013-6-9 14:57 | 显示全部楼层 |阅读模式
    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,所以shapefileFID = 0的记录将不会与feature class 中的任何一条记录相匹配。


29

主题

6万

铜板

11

好友

黄金会员

Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23

积分
4180

宣传勋章爱心勋章地信元老灌水勋章荣誉会员勋章活跃勋章贡献勋章成就学员勋章童话节勋章

发表于 2013-6-9 21:43 | 显示全部楼层
楼主很了不起,这个问题以前我还真没注意到。

评分

参与人数 1铜板 +1 收起 理由
admin + 1 亲,你好快哦~~~

查看全部评分

回复 支持 反对

使用道具 举报

0

主题

68

铜板

2

好友

助理工程师

Rank: 5Rank: 5

积分
130
发表于 2013-6-20 18:03 | 显示全部楼层
学学习习  学习
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表