shp系列(三)——利用C++进行DBF文件的读(打开)

本文介绍了DBF文件的结构,包括文件头、记录项数组和实体信息,并提供了在已知字段数和类型情况下,用C++读取DBF文件的简化代码示例。内容涵盖DBF文件的更新日期、版本信息、记录条数等关键点。
摘要由CSDN通过智能技术生成

1.DBF文件要点

DBF文件又叫属性文件,也叫dBASE文件,文件后缀是.dbf,实际上ArcGIS打开后的属性表就是DBF的信息。DBF文件遵循以下几个条件:

  • 每个要素在表中必须要包含一个与之相对应的记录。
  • 记录的顺序必须与要素在主文件中(*.shp)的顺序一样。
  • dBASE 文件头中的年份值必须要晚于 1900 年。

2.DBF文件的组成

属性文件(.dbf)用于记录属性信息。它是一个标准的DBF文件,也是由头文件和实体信息两部分构成:

3.DBF文件的头文件

文件头部分的长度是不定长的,它主要对DBF文件作了一些总体说明。

其中最主要的是对这个DBF文件的记录项(字段)的信息进行了详细地描述,比如对每个记录项(字段)的名称、数据类型、长度等信息都有具体的说明。

3.1头文件如下

  • date[3],BYTE,更新日期
  • verision,BYTE类型,版本信息
  • RecordNum,int,文件中记录条数
  • HeaderByteNum,short,文件头的字节数
  • RecordByteNum,short,一条记录的字节长度
  • Reserved1,short
  • Flag4s,BYTE
  • EncrypteFlag,BYTE
  • Unused[3],int,保留字节
  • MDXFlag,BYTE,MDX标识
  • LDriID,BYTE
  • Reserved2,short
  • RecordItem(记录项数组详情见下),32,字段描述信息
  • terminator,BYTE,终止标识
  • 头文件的字节数为:1 + 1 * 3 + 4 + 2 + 2 + 2 + 1 + 1 + 4 * 3 + 1 + 1 + 2 + 32 * RecordNum + 1 = 33 + 32 * RecordNum

3.2记录项数组

记录项数组其实就是描述表中字段信息的数组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值