转自:http://hotolee.blog.163.com/blog/static/3815229920098434956370

MapInfo以表(Tab)的形式存储信息,每个表是由一组MapInfo文件组成,包括:   
  1、属性数据的表结构文件,后缀为.TAB。该文件定义了地图属性数据的表结构,包括字段数、字段名称、字段类型、字段宽度、索引字段及相应图层的一些关键空间信息描述。.TAB文件实际上是一个文本文件,可以在写字板中打开观察其内容。   
  2、属性数据文件,后缀为.DAT。该文件存放了地图的属性数据。.DAT文件是二进制文件,它的格式与dBase   IV的文件格式一致。   
  3、空间数据文件,后缀为.MAP。该文件是二进制文件,存放了图形对象的数据,包括空间对象的几何类型、坐标信息和颜色信息等。   
  4、交叉索引文件,后缀为.ID。该文件是二进制文件,用于连接属性数据和图形数据,记录了地图中每一个空间对象在空间数据文件(.MAP)中的位置指 针。文件中每四个字节构成一个指针。指针排列的顺序与属性数据文件(.DAT)中属性数据记录存放的顺序一致。交叉索引文件实际上是一个空间对象的定位 表。   
  5、索引文件,后缀为.IND。MapInfo表中有时也包括该文件,用于对某些字段建立索引。   
  .TAB文件和.DAT文件是MapInfo表中必须的两个文件,一个MapInfo表至少应该包括一个.TAB文件和一个.DAT文件。.MAP和.ID文件不是必须有的,但是如果有了.MAP文件,那么.ID文件也必须存在。

在Mapinfo中每张地图被称为一个图层(或被称为表)。
每个Mapinfo表由两部分最重要的内容构成:图形(称为空间对象)和数据(称为属性)。
Mapinfo 实现了"图形对象"及"属性数据"一对一联系,从而能够完成图形数据和属性数据的双向查询。为了实现基于属性信息的快速查询,Mapinfo支持针对属性 字段建立索引。Mapinfo以文件的方式,将上述的不同信息存放到不同的文件中以共同组成一个完整的图层。

细说Mapinfo索引文件*.ind :
每个Mapinfo表是由几个文件组成的,不同的文件用来保存图层的不同信息。其中,*.ind 文件用来存放Mapinfo表的数据索引。是Mapinfo表的索引文件,它能提高Mapinfo数据检索的效率,同时它允许你使用“查找”命令查找地图 对象。若用查找命令定位一个地址(城市),在表中必须对这些城市建索引,这些索引就保存在*.ind文件中。
当你对一幅图层建立索引之后,Mapinfo 会自动生成一个索引文件*.ind。当你将一个图层的索引取消之后,Mapinfo 也会自动将索引文件*.ind删除。

MIF,MID格式

MapInfo虽然没有公开其内部的数据结构,但它给出了用于格式交换的数据结构,即MIF与MID,其中MIF文件保存图形数据,MID文件保存 属性数据。将其它形式的地图数据转成MIF与MID格式,然后利用MapInfo菜单中的Import命令就可以导入,从而完成转换。也可以在 mapInfo中把*.tab文件转换为*.mif,*.mid文件

MIF是Mapinfo用来向外交换数据的一种中间交换文件。当用户在Mapinfo中将一张Mapinfo地图表以MIF格式转出到MIF文件中后,Mapinfo会同时在用户指定的保存目录下生成两个文件(*.mif,*.mid)。
其中*.mif文件保存了该Mapinfo表的表结构及表中所有空间对象的空间信息:
每个点对象的点位坐标、符号样式;
每个线对象的节点个数、节点坐标、线样式;
每个区域对象的包含的子区域个数、每个子区域的节点数、节点坐标等、填充模式
而*.mid文件则按记录顺序保存了每个空间对象的所有属性信息。
这两个文件都为文本性质的文件,用户可以通过相应的文件读写方法实现对文件内容的读写。

MapInfo.dat格式说明

据说MapInfo是严格的DBaseIV格式:

01          000x03:总是这个值

01-03      最后更新日期,格式:年年月月日日

04-07      表中有多少条记录(32位,最大4294967295条记录)

08-09      header部分有多少字节(16位,最大65535字节),包括Header段的结束标记0XOD在内

10-11      每条record部分有多少字节(同上)

12-13      保留的,不用管(这后面都可不用管)

14          未完成事务标记。开始事务时其值被设置为0x01,事务完成或事务回滚时,重设位0x00。也可以不管它。

15          加密标记。加密后为0x01否则是0x01。单纯的修改该标记并不能对记录进行加密解密。

16-27      用于DBaseIV多用户环境。不用管。

28          是否存在产品索引,是则为0x01,否则0x00。也不用管。

29          DBaseIv语言驱动Id

30-31      保留的,全是0x00,不用管。

接着每32位保存一个字段的信息

0-9         字段名的AscII码

100        x00

11          字段类型标识(如0x43代表charactor,相当于字母C.MapInfo只使用了C,L,N三种.要获得实际的字段类型和含义需要参照.tab文件)

12-15      displacementoffieldinrecord,可以不用管

16          字段长度

17          字段的小数个数

18-19      保留的,不用管

20          dbaseIvworkareaid不用管

21-30    保留的,不用管

31         该字段是否是产品索引的一部分,如果是则值为0x01,否则0x00

所有字段描述完了以后,是header的结束标记0x0D

接着是紧密排列的记录,都是Ascii的。其宽度跟字段的定义一致。

所有的记录都以一个删除标记开头,如果该记录删除,该处的值为0x2a(星号*)否则0x20(空格)

文件最后以一个0x1a标记结束

附:字段标识对照表

AscII码 描述

c          字符

d          日期,formatyyyymmdd

f           浮点

g          general-foxproaddition

l            逻辑,t:t,f:f,y:y,n:n,?-未初始化

m          memo(storedas10digitsrepresentingthedbtblocknumber)

n           数字

mapInfo文件格式详解,其中有“细说Mapinfo索引文件*.ind”相关推荐

  1. mapInfo文件格式详解

    from:http://hotolee.blog.163.com/blog/static/3815229920098434956370 MapInfo以表(Tab)的形式存储信息,每个表是由一组Map ...

  2. MP4文件格式详解——结构概述

    MP4文件格式详解(ISO-14496-12/14) 一.基本概念 1. 文件,由许多Box和FullBox组成. 2. Box,每个Box由Header和Data组成. 3. FullBox,是Bo ...

  3. 音视频入门-11-PNG文件格式详解

    音视频入门文章目录 PNG 文件格式解析 PNG 图像格式文件由一个 8 字节的 PNG 文件署名域和 3 个以上的后续数据块(IHDR.IDAT.IEND)组成. PNG 文件包括 8 字节文件署名 ...

  4. 音视频入门-17-GIF文件格式详解

    * 音视频入门文章目录 * GIF 文件格式解析 图像互换格式主要分为两个版本,即图像互换格式 87a 和图像互换格式 89a. 图像互换格式 87a:是在 1987 年制定的版本. 图像互换格式 8 ...

  5. ZIP(32位)文件格式详解

    ZIP(32位)文件格式详解 为什么要去了解ZIP文件格式 最近有个需求,需要加载jar包中的jar包中的class,此时有两种方式: 1.将jar解压缩,然后将解压缩后的路径添加到class pat ...

  6. S19文件格式详解(总结)以及与hex文件的互转

    S19文件格式详解 ​​ ​​ S-record格式文件是Freescale CodeWarrior编译器生成的后缀名为.S19的程序文件,是一段直接烧写进MCU的ASCII码,英文全称问Motoro ...

  7. MP4文件格式详解——文件类型ftyp

    原谅地址:http://blog.csdn.net/pirateleo/article/details/7583321 文件类型ftyp(ISO-14496-12) Author:Pirate Leo ...

  8. MP4文件格式详解——文件类型ftyp(转)

    文件类型ftyp(ISO-14496-12) Author:Pirate Leo Email:codeevoship@gmail.com ISO 14496 - 12 定义了一种封装媒体数据的基础文件 ...

  9. 多媒体 MP4文件格式详解——文件类型ftyp

    ISO 14496 - 12 定义了一种封装媒体数据的基础文件格式,mp4.3gp.ismv等我们常见媒体封装格式都是以这种基础文件格式为基础衍生的. 如果从全局角度了解基础文件格式,请看我之前的博文 ...

  10. S19文件格式详解(1)

    1.记录结构 0 1 2 3 4 5 S Type Byte Count Address Data Checksum 一个SREC格式文件包含一系列ASCLL格式的的数据.具体如下: Record t ...

最新文章

  1. RDKit | 基于RDKit绘制带原子和键的索引、注释和立体化学
  2. jQuery 原理的模拟代码 -4 重要的扩展函数 extend
  3. mysql+php+服务器配置_php服务器配置(php+mysql+iis)步骤
  4. 大工18秋计算机应用在线作业,大工18秋《计算机组网技术》在线测试1【标准答案】...
  5. java 分布式服务_java分布式微服务云架构- SrpingBoot Admin
  6. Jeecg-Boot 1.1 发布,基于 SpringBoot+Ant Design 的快速开发平台
  7. 语言用符号打印出落叶的图案_世界上最好玩的6种表情符号编程语言
  8. 智能优化算法:未来搜索算法-附代码
  9. Linux应急响应入侵排查思路
  10. macOS:卸载JRE或JDK
  11. 电脑word如何删除空白页面
  12. 农夫山泉溜到了下坡路
  13. python翻页爬取豆瓣影评,翻页爬取豆瓣电影名称和评分
  14. 【计算机视觉】BOF图像检索
  15. python菜鸟教程 | print功能
  16. bne 1b 汇编含义
  17. 集结社区TOP博主,云享专家优质电子书
  18. 最大熵方法求概率密度函数
  19. mysql学生成绩视图_MySql学习12---视图
  20. euraka 分区概念

热门文章

  1. java编程思想txt下载_《JAVA编程思想》之第5章-初始化和清理
  2. python抓取天气预报_抓取天气预报的代码(Python)
  3. vant部署_Vue 3.x配置Vuex使用Vant TabBar及部署
  4. matlab执行m文件语句,matlab 编写m文件函数
  5. 叠螺机_火锅底料加工车间废水离不开叠螺机应用
  6. Java学习笔记——JDBC
  7. StanfordDB class自学笔记 (2) 关系模型
  8. linux不要了装windows,从windows到linux —— 装linux吧,你不要怕!
  9. vue显示服务器目录,vue-cli 静态资源在另一台服务器上.要如何配置路径
  10. Git 常用操作(一)