本文主要是介绍(转)ArcGIS中ObjectID,FID和OID字段有什么区别?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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 中的任何一条记录相匹配。
(文章转载地址:https://blog.csdn.net/lysc_forever/article/details/20656183)
这篇关于(转)ArcGIS中ObjectID,FID和OID字段有什么区别?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!