欢迎您访问科普小知识本站旨在为大家提供日常生活中常见的科普小知识,以及科普文章!
您现在的位置是:首页  > 科普文章

MapInfo数据交换文件格式浅探

科普小知识2022-12-19 15:29:17
...

摘 要:mapinfo这一大型桌面地理信息系统软件提供了tab格式和mif(mid)两种数据格式,其中tab是其内部数据存储格式,所有基于该软件的应用系统都以此格式为依托。mif(mid)是mapinfo的外部数据交换文件格式,mapinfo主要通过mif,mid两个文件与其他gis软件建立数据接口,方便数据使用。主要介绍mapinfo的数据转换格式,防止在使用中转换信息丢失。

关键词:mapinfo;mif(mid);头文件;数据文件

前言

mapinfo的mif(mid)数据格式是一种外部数据交换标准。因为它是ascii码文件,所以它可以被所有支持mapinfo的平台使用,并能支持多种数据格式及其转换,例如支持目前市场上流行的图形图像格式。也可接受autocad的dwg,dxf标准文件格式,还可通过mif及mid文件与其它软件建立数据的接口,其中mif文件内保存有图形信息,mid文件内保存有属性信息。

1 mif文件格式

mapinfo数据分存在两个文件中:图形数据在mif中,属性数据在mid中。mif及mid文件通过mapinfo的菜单命令import和export来导入或导出。WWw.11665.coM文本数据是限定数据,一行一个记录。mif文件有两部分——文件头部分和数据体部分。创建表的具体信息在头文件中,图形实体在数据文件中定义。

以下面是一个mif文件的格式为例

下面依次介绍各部分的含义及详细格式。

1.1文件头部分格式

(1)version

这个部分说明当前mif文件的版本:version 1,version 2,version 300,version 450。version 300,是在mapinfo3.0中引进的,它可以创建多个节点的折线目标。version 450扩大了节点的限制:单个区域或折线的最大数目可以达到1,048,572个。如果一个目标的存储达到了32k,表的读取空间已经超过了version 450,那么这个目标将不可见。只有不超出32k的目标才可以被显示。version 450也包括了点的大小和画笔的宽度。

(2)charset

这个句子确定表是由哪种文字创建的。例如:“windowslatin1”指出文件用windows us或西欧的文字格式;“macroman”指出文件用windows us或东欧的文字格式;“neutral”指出文件不可以由文本转到其它的文字格式。如果没有使用文字格式,则可以通过转出表或在文本编辑器中检查mif文件来确定文字格式的语法规则。

(3)delimiter

确定字符之间的分隔方法,例如:delimiter “;”,表示用“;”号作为分隔符。默认情况下,采用tab为分隔符。当使用的是缺省的间隔符,可以不需要delimiter行。

(4)unique

这个句子用来定义数据库中表的字段数,即属性数,例如:3是第三个字段,7是第七个字段等等。

(5)index

为目标建立索引,需要将一组数作为index。每一个数都对应数据库中的一个字段。index列表中的字段对应不同的目标。

(6)coordsys clause

这句话指出数据的投影类型,即坐标系。mapinfo共定义300多种坐标系。详细的坐标系定义方法本文不作介绍。

(7)transform clause

坐标系转换语句。

(8)columns

指出字段的数目。对于每一个column,创建包括字段名、字段类型,对于字符和十进制字段,还要创建字段的宽度数值。

1.2数据体部分格式

mif文件的数据部分和文件头是相匹配的,开头必须以data开头。mif文件的数据部分是对原始图形的数据描述,数据与图形一一对应。其图形目标具体被分为:point、line、polyline、region、arc、text、rectangle、roundedrectangle、ellipse等,下面分别讨论其描述方法。

point:有两个参数:x坐标值和y坐标值。作为一个点实体,需要有一个符号标示。这些符号都是用数值设计的。如果不指定,系统会默认目前的符号。

line:有四个参数:两端点的x、y坐标。作为一实体,需要一个画笔表示其属性。如果不指定,系统会自动用当前的画笔。

polyline:有不少于一个的截面。当它含有多于一个的截面,必须有关键字multiple指出。对于每一个面域,定义一段用numpts开头的数据段。利用pen确定线的属性。如果你选择smooth关键字,折线变得光滑。

region:有不少于一个的多边形组成。指出多边形的个数用numpolygons(紧跟在region后面)。对于每一个多边形,像折线一样,用关键字numpts开头,紧跟着组成该多边形的节点的坐标串。用pen和brush确定目标实体的属性。利用center明确指出目标实体的质心(质心必须在区域内)。

arc:要求边界矩形对角线的端点的坐标和起始于结束的角度(逆时针旋转)。它可以使用pen类型。art指定一个椭圆区域,其中心由边界矩形决定。

text:是一个文本,最多可存255个字符。为了可以输入多行文本,在需要换行的地方引入字符\n。

rectangle:要求对角线两端点的坐标值。也定义了pen和brush属性。

rounded rectangle:要求对角线两端点的坐标值和圆角的度数(a)。可以定义pen和brush定义属性。

ellipse:要求边界矩形的对角线两端点的坐标值。可以定义pen和brush定义属性。

2 mid文件

mapinfo将数据分存与mif和mid文件中。mif文件包含图形数据及属性表结构的定义;mid文件中包含的是数据的具体属性内容。在mid文件中每一行对应一个实体,即一个目标。而同一实体的各属性间用分隔符分隔,缺省的分隔符是tab。mid文件中的每一个纪录都对应mif文件中的图形目标。对于同一个目标,mif第一行记录它,mid也在第一行记录它。在mid文件中,如果存在一行空的目标记录,那么,在mif文件中在对应的地方写着“none”。一般来说mid文件必须与mif文件同时出现。如果没有mid文件,则mif中所定义的所有图形的属性内容均为空。

结束语

现今基于mapinfo软件开发了大量的应用系统,数据存储和管理问题一直困扰着开发者和应用者,通过以上研究可为今后的开发和应用提供有益的参考。

参考文献

[1]杨东民.mapinfo数据的存储设计[j].内蒙古石油化工,2006,5:44-45.

[2]电子地图在车载导航系统中应用的研究[d].长沙:湖南大学研究生论文,2006,4:13-16.