1. 概述
MapInfo采用双数据库存储模式,即其空间数据与属性数据是分开来存储的。属性数据存储在关系数据库的若干属性表中,而空间数据则以MapInfo的自定义格式保存于若干文件中,二者通过一定的索引机制联系起来。为了提高查询和处理效率,MapInfo采用层次结构对空间数据进行组织,即根据不同的专题将地图分层(图层还可以分成若干图幅),每个图层存储为若干个基本文件。
2. 属性数据的表结构文件.TAB
TAB为描述MapInfo表结构,说明数据文件。属性数据表结构文件定义了地图属性数据的表结构,包括字段数、字段名称、字段类型和字段宽度、索引字段及相应图层的一些关键空间信息描述。.TAB文件实际上是一个文本文件,可以在写字板中打开观察其内容。
![9bf095e160e6f3f8d9ba7606bf29fbf9.png](https://i-blog.csdnimg.cn/blog_migrate/a405d7e438341844d701d46a0114b33b.jpeg)
TAB文件打开效果
3. 属性数据文件.DAT
DAT为表格数据,格式为二进制。属性数据文件中存放完整的地图属性数据。在文件头之后,为表结构描述,其后首尾相接地紧跟着各条具体地属性数据记录。
![43b95e2de99b96046b221c4a3ad92ac5.png](https://i-blog.csdnimg.cn/blog_migrate/ac5f227a8d73a237d39c8fb8407f4bce.jpeg)
DAT文件
4. 交叉索引文件.ID
连接数据和地图对象的参照文件(无对象则不存在),格式为二进制。交叉索引文件记录了地图中每一个空间对象在空间数据文件(.MAP)中的位置指针。每四个字节构成一个指针。指针排列的顺序与属性数据文件(.DAT)中属性数据记录存放的顺序一致。交叉索引文件实际上是一个空间对象的定位表。
![246e326ee7a0274471efdc9f50c67ee1.png](https://i-blog.csdnimg.cn/blog_migrate/483fffe2971db9c9e2a7c6a7a72149a9.jpeg)
ID文件
5. 空间数据文件.MAP
图形对象(无图形,对象则不存在),格式为二进制。具体包含了各地图对象的空间数据。空间数据包括空间对象的几何类型、坐标信息和颜色信息等。另外还描述了与该空间对象对应的属性数据记录在属性数据文件(.DAT)中的记录号。这样,当用户从地图上查询某一地图对象时,就能够方便地查到与之相关的属性信息。
![299bc2b25e4b9574cda9ab41457a3d08.png](https://i-blog.csdnimg.cn/blog_migrate/09b702f4057e7af7920e0a6e2ec50ca0.jpeg)
MAP文件
6. 索引文件.IND
查询地图对象,格式为二进制。索引文件并不是必须的,只有当用户规定了数据库的索引字段后MapInfo才会自动产生索引文件。索引文件中对应于每个索引字段都有一个索引表。在每个索引表中,先给出总的数据库记录数目,然后按照索引顺序给出每条属性数据记录在对应的索引字段处的具体属性数据和该记录在属性文件(.DAT)及交叉索引文件(.ID)中的记录号。
7. TAB文件结构详细介绍
上述五种文件组合起来描述一个图层,其中TAB文件详细结构介绍如下。
heade