[zt]mapinfo原文件解秘
MapInfo 原文件由以下不同后缀的文件组成: .TAB 表结构,为ASCII 格式 .DAT 表属性数据,二进制格式 .MAP 地图图形对象,二进制格式 .ID 交叉引用文件,用于连接属性数据和图形数据,二进制文件 .IND 索引文件,用于快速查询,二进制文件 MapInfo各文件的格式说明
1. TAB文件 文本格式,可直接打开。
2. DAT文件 DAT文件的结构严格等同于dBase IV 的文件格式.
3. ID文件 数据存贮为32位整数。ID的记录顺序和DAT文件中的顺序完全一致。而ID文件中的每条记录指向MAP文件中的对象定义块的地址。包括已经打了删除标记的记录(指针为0,属性数据和图形数据无法联系在一起了)。
4. MAP文件 Map文件由大小为&H200(512)字节的块组成。500版本以后文件头块又扩展了$200。即又增加了一块。 每一块由第一个字节来区分。一共有六种类型的数据块。 HEADER BLOCK(文件头块,块标记为 0) 包含表的坐标系统和内部结构的一些信息。 INDEX BLOCK(索引块,块标记为1) 对应到对象定义块的索引。 OBJECT DEFINITION BLOCK(对象定义块,块标记为2) 地图对象的定义信息。 COORDINATE DEFINITION BLOCK(坐标定义块,块标记为3) 坐标块 DELETED BLOCK(删除块,块标记为4) 已被删除块 RESOURCE BLOCK(资源块,块标记为5) 表中的PEN,BRUSH,FONT,和SYMBOL资源块 地图对象有两种读取方法,一是通过ID文件来读取,当通过属性来找地图对象时,用这种方法。二是通过对象定义块读到对象。 在对象定义块中,可能使用16位整数和32位整数。它由一个个对象定义组成,第个对象定义节的头一个字节来标识它所代表的对象类型,从而决定要读到的信息。 在坐标块中,繁杂图形又由一个对象节描述和实际坐标组成。简单图形仅由坐标组成。