Shp文件格式之

Shp文件格式之

DBF文件格式

1. GeoTools DBF文件头计算

DBF头文件分为两个部分。第1部分占10个字节,保存文件标识、时间、数据量和DBF文件头字节长度;第2部分为变长长度,描述了每行数据长度、字段名、字段类型、列号和其它。

第一部分:

第一部分占用10个字节:

0 字节为值为3,标识位,固定值

1~3分别标识年月日

if y > 90 y = y+1990 else y = y+2000

M = M -1

d = d

4~7 标识dbf文件存储了多少条数据, int recordCnt =[7][6][5][4]

8~9 标识头长度 int headerLength =[8] & 255 | ([9] & 255) << 8

第二部分:

第二部分的长度依据文件字段数,根据第一部分的内容可计算:

数据长度(2B)int recordLength = [0] & 255 | ([1] & 255) << 8

空位(20B),用0填充

字段描述,每个(32B)*n

字段名(11B)

类型(1B)

列号(1B),标识该字段在第几列

长度(1B) , 此位转化为int,小于0则+256, 大于0不变

精度(1B)

空位(14B),用0填充

尾部空位(1B),用0填充

2. dbf数据组成

DBF文件中的数据组成比较简单,每一行数据由值为32的1个字节开始,后面数据依赖每列数据的类型决定。

类型标识

@

Timestamp.class

A B E G H I J K M

String.class

C

String.class

D

Date.class

F

Double.class

L

Boolean.class

N 小数点后位数 != 0

Double.class

N 小数点后位数 == 0 && 长度 < 10

Integer.class

N 小数点后位数 == 0 && 长度 > 10

Long.class

清芳推荐

脸总是红红的是什么原因
365彩票网3d专家预测

脸总是红红的是什么原因

📅 06-27 👀 3500
没有学籍怎么参加高考
365彩票网3d专家预测

没有学籍怎么参加高考

📅 07-05 👀 452
汪涵真实年收入多少钱 身价比肩一线明星真大牌
365bet亚洲版登录

汪涵真实年收入多少钱 身价比肩一线明星真大牌

📅 07-29 👀 6329