ArcGIS中的OBJECTID、FID 和 OID 的区别!不要傻傻分不清

article/2025/10/3 9:55:44

喜欢就关注我们吧

        时常有很多我朋友分不清OBJECTID、FID 和 OID有什么区别,不懂得怎么应用和管理,今天我们来说个明白。

       ArcGIS Desktop 产品要求独立表和属性表均具有 ObjectID字段,该字段包含唯一的长整型用于标识每个记录。 此 ID 由 Esri 软件管理,无法手动对其进行更改。

01  3个ID在数据数据中的体现

Shapefile、地理数据库要素类和独立表将以不同的方式处理对 ObjectID 的需求。

1、在 shapefile 中,“FID”字段包含 ObjectID,并且值从 0 开始。

2、在地理数据库要素类或地理数据库内的独立表中,“OBJECTID”字段包含 ObjectID,并且值从 1 开始。

3、在独立 dBase 表中,“OID”字段包含 ObjectID,并且值从 0 开始。

02  3个ID如何变

通过 ArcGIS Desktop 对数据进行编辑时,不同 ObjectID 字段的功能有所不同:

1、如果删除 shapefile 中的记录,则将重新对 FID 进行编号,以使其从 0 开始并顺序增加。 编号中没有间隔。

2、如果删除地理数据库要素类或地理数据库表中的记录,则不会对 OBJECTID 重新进行编号,并且列表中的间隔仍然存在。

3、如果删除 dBase 表中的记录,则将从 0 开始对 OID 重新进行编号。 编号中没有间隔。

数据转换将导致 ObjectID 被重写。

4、在导出地理数据库要素类或将其转换为 shapefile 格式,或者将地理数据库表导出为 dBase 格式时,将在输出 shapefile 或表中,从 0 开始按顺序对记录重新进行编号。

5、在导出地理数据库要素类或将其转换为新的地理数据库要素类,或者导出地理数据库表或将其转换为新的地理数据库表时,将在输出要素类或表中,从 1 开始按顺序对记录重新进行编号。

所以,我天天和大家说,导出一遍数据再处理,能解决好多问题哦。

6、注意。!!!在选择用于连接或关联表的字段时,请务必注意这些行为。 如果使用 FID 和 OBJECTID 字段将 shapefile 连接到要素类,则不会将 FID = 0 的 shapefile 记录与要素类中的记录进行匹配,因为要素类中不存在 OBJECTID = 0 的记录。

7、想对所有ID有规则排序,请参考我们之前的文章介绍。

GIS技巧100例——12ArcGIS图斑空间排序_GIS思维的博客-CSDN博客_arcgis图斑排序这次GIS思维——GIS技巧100例的第十二讲《ArcGIS图斑空间排序》GIS技巧100例-GIS思维(持续更新中···)推荐学习:ArcGIS之模型构建器(ModelBuilder)视频教程ArcGIS10.X入门实战视频教程(GIS思维)ArcGIS之遥感影像分类及成果应用视频课程ArcPy结合数据驱动模块的批量制图ArcGIS之Data Reviewer空间数据质量检查GIS思维GIS系列技术课程...https://blog.csdn.net/kinghxj/article/details/118979417

推荐系统学习课程

GIS思维GIS系列技术课程

 ArcGIS之模型构建器(ModelBuilder)视频教程

ArcGIS10.X入门实战视频教程(GIS思维)

ArcGIS之遥感影像分类及成果应用视频课程

ArcPy结合数据驱动模块的批量制图

ArcGIS之Data Reviewer空间数据质量检查


http://chatgpt.dhexx.cn/article/o5OgLn2j.shtml

相关文章

Mongo中id介绍

好记忆不如按烂笔头 ,即便是最简单的,时间长了也难免会忘记,记下可以让你更明白。 2.6.6 _id和ObjectId MongoDB 中存储的文档必须有一个"_id" 键。这个键的值可以是任何类型的,默认是个ObjectId 对象。在一个集合里面…

canal

简介 canal [kənl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费 早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求,实现方式主要是基于业务 trigger 获取增…

阿里的数据同步神器——Canal

前言 同步数据的神器: Canal安装配置 canal [kə’nl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费 早期阿里巴巴因为杭州和美国双机房部署, 存在跨机房同步的业务需求, 实现方式主要是基于业务 trigger 获取增量变更。从 2…

使用Canal组件订阅MySQL binlog数据增量

一、简介 Canal是一款强大的开源组件,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费。 1. canal 工作原理 canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave ,向 MySQL master 发送dump 协议MySQ…

mysql进阶:canal搭建主从|集群架构

0.引言 之前我们讲解过canal的各种应用,但是对于生产环境来讲,服务高可用是必须保证的。因此canal单节点是不能满足我们的需求的。就需要搭建canal集群。 1. canal集群模式 从架构方式上出发,我们用来保证服务高可用的手段主要是主从架构、…

ElasticSearch 7.15.2 使用java canal 接入实现灵活化增量数据准实时同步

前言: ①canal.adapter-1.1.5 支持一对一单表的增量数据同步ElasticSearch 7; ②对于多表聚合场景的SQL满足不了我们的业务需求。 ③采用java canal 接入,可以实现灵活化增量数据准实时同步 文章目录 一、java canal 接入1. 依赖导入2. 增加配…

浅入浅出keepalived+mysql实现高可用双机热备

当数据库发生宕机的情况,如果配置了数据库主从同步模式或主主同步模式,则可以从从库中获取数据。 当数据库发生宕机的情况,要求应用系统实现高可用,应用系统不会受到影响,需要对mysql进行双机热备实现数据库的高可用。 实现双机热备的方式有Mycat组件方式、canel组件方式、…

【硬刚大数据】大数据同步工具之FlinkCDC/Canal/Debezium对比

欢迎关注博客主页:微信搜:import_bigdata,大数据领域硬核原创作者_王知无(import_bigdata)_CSDN博客 欢迎点赞、收藏、留言 ,欢迎留言交流!本文由【王知无】原创,首发于 CSDN博客!本文首发CSDN论…

4、Canal的 instance模块

一、总体结构 如确所述,Canal server的模式有两种:manager和spring 在core模块中,定义了CanalInstance接口,以及其抽象类子类AbstractCanalInstance。 在spring模块,提供了基于spring配置方式的CanalInstanceWithSpr…

canal实现mysql数据同步

前言 canal是实现mysql数据备份,异地灾备,异地数据同步等重要的中间件,在实际的业务场景中有着广泛的使用,本文基于小编所在项目中一个异地数据同步的场景为例,通过案例演示下利用canal实现mysql数据同步的过程 同步原理 如上图所示,为canal同步mysql数据的原理的简单示…

SpringBoot系列之canal和kafka实现异步实时更新

SpringBoot系列之canal和kafka实现异步实时更新 实验开发环境 JDK 1.8SpringBoot2.2.1Maven 3.2+开发工具 IntelliJ IDEAsmartGit1、什么是阿里canal? canal是阿里开源的, 对数据库增量日志解析,提供增量数据订阅和消费的组件。引用官网的图片,canal的工作原理主要是模拟…

Java:SpringBoot整合Canal+RabbitMQ组合实现MySQL数据监听

canal [kə’nl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费 目录 一、MySQL设置二、启动Canal服务端三、通过Canal客户端消费数据四、通过RabbitMQ消费数据1、启动RabbitMQ2、修改canal配置3、消…

Kubernetes 学习19基于canel的网络策略

一、概述 1、我们说过,k8s的可用插件有很多,除了flannel之外,还有一个流行的叫做calico的组件,不过calico在很多项目中都会有这个名字被应用,所以他们把自己称为project calico,但是很多时候我们在kubernet…

基于canel的网络策略

基于canel的网络策略 canel工作的默认网段是192.168.0.0/16的网段 官网:https://docs.projectcalico.org/v3.2/introduction/ 参考地址: https://docs.projectcalico.org/v3.2/getting-started/kubernetes/installation/flannel 分别运行:…

REDIS11_缓存和数据库一致性如何保证、解决方案、提供Canel解决数据一致性问题

文章目录 ①. 缓存和数据库双写一致保证②. 缓存数据一致性-解决方案③. 缓存数据一致性-解决-Canal ①. 缓存和数据库双写一致保证 ①. 只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题 ②. 那么,如何解决一致性问题?提…

binlog+canel windows服务器下mysql数据的部署过程

1.开启mysql的binlog功能,并配置binlog模式为row。 1.1windos下修改mysql的my.ini文件(该文件在C:\ProgramData\MySQL\MySQL Server 5.7,而不是C:\Program Files\MySQL\MySQL Server 5.7下的my-default.ini文件,C:\Pr…

十九、基于canel的网络策略

说明 Calico的官方地址:https://docs.projectcalico.org/v3.8/getting-started/kubernetes/installation/flannel 安装canel之前需要注意 如果您使用的是pod CIDR 10.244.0.0/16,请跳至下一步。如果您使用的是其他pod CIDR,请使用以下命令设…

canel-1.1.5 canal.deployer安装

简介 canal [kə’nl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费 工作原理 canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave ,向 MySQL master 发送 dump 协…

Kubernetes基于canel的网络策略

Calico的官方地址:https://docs.projectcalico.org/v3.8/getting-started/kubernetes/installation/flannel 安装canel之前需要注意 如果您使用的是pod CIDR 10.244.0.0/16,请跳至下一步。如果您使用的是其他pod CIDR,请使用以下命令设置一个…

binlog以及Canel

一、NDB存储引擎 在介绍binlog之前,需要先了解一下NDB NDB 存储引擎也叫NDB Cluster 存储引擎,主要用于MySQL Cluster 分布式集群环境。 NDB特点: • 分布式:分布式存储引擎,可以由多个NDBCluster存储引擎组成集群分别存放整体数据的一部分 • 支持事务:和Innodb一样…