上一篇介绍了shp文件的创建,接下来介绍dbf的创建。
推荐结合读取dbf的博客一起看!
推荐结合读取dbf的博客一起看!
推荐结合读取dbf的博客一起看!
1.Dbf头文件的创建
Dbf头文件的结构如下:
记录项数组说明:
字段类型说明:
关于每项的具体含义参照读取dbf文件的解释,这里重点解释几项:
- HeaderByteNum指dbf头文件的字节数,数值不用除于2,具体为:从version到Reserved2(共32) + n个字段 * 每一个字段长度 32 + terminator。
- RecordByteNum指每条记录的字节数,RecordByteNum根据记录的实际长度来写数值不用除于2,具体为:∑每个字段的字节数(字段数量根据读取打开shp的字段数决定)。例如我的例子中写了八个字段,则一条记录的实际长度为:1(deleteFlag) + 10 + 32 + 16 + 10 + 10 + 8 + 19 + 19 = 1 + 124 =125。
2.Dbf记录实体的创建
记录实体就是每条记录,一个记录有多个字段,部分字段上存储必要的信息。由于实际上每个shp文件的表的字段数可能不一样,并且每个字段的类型不固定,需要每次判定字段类型,然后根据不同类型设置来输出信息。
但是这费时费力,根据实际情况,简化一下,读取已知字段数和字段类型的DBF的信息,或者说,根据实际需要的字段数和字段类型来输出