# map

返回:大前端

# MapInfo mif/mid文件说明

MIF是Mapinfo用来向外交换数据的一种中间交换文件。
当用户在Mapinfo中将一张Mapinfo地图表以MIF格式转出来MIF文件中后,Mapinfo会同时在用户指定的保存目录下生成两个文件(.mif,.mid)。

  • *.mif文件保存了该Mapinfo表的表结构及表中所有空间对象的空间信息(如:每个点对象的符号样式、点位坐标;每个线对象的线样式、节点数据、节点坐标;区域对象的填充模式、每个区域包含的子区域个数及每个区域的节点数、节点数等)
  • *.mid文件则按记录顺序保存了每个空间对象的所有属性信息。

这两个文件都为文本性质的文件,用户可以通过相应的文件读写方法实现对文件内容的读写。

图形保存在.MIF 文件中

MIF 文件有两个区域—文件头区域和数据节。有关如何创建MapInfo表的信息保存在文件头中;图形对象定义保存在数据节中

Version   n    
Charset   "characterSetName"    
[   DELIMITER   "<c>"   ]    
[   UNIQUE   n,n..   ]    
[   INDEX   n,n..   ]    
[   COORDSYS...   ]    
[   TRANSFORM...   ]    
COLUMNS   n    
<name>   <type>    
<name>   <type>    
…    
…    
DATA    
1
2
3
4
5
6
7
8
9
10
11
12
13
  • Version
    • 子句说明您所使用的是VERSION 1VERSION 2VERSION 300还是VERSION 450 格式。
  • Charset
    • 子句指定在表中创建文本时使用的字符集。
  • Delimiter
    • 在引号中指定分隔符,缺省情况下,分隔符是TAB键;如果使用缺省值,则无需DELIMITER行。
  • Unique(唯一)
    • 指定一个号码。这个号码指示数据库的一列;
  • Index(索引)
    • 要指出表中的列有索引,可以在Index子句中引入一个号码(或一系列用逗号分隔的号码)。每个号码代表数据库的一列;INDEX 列表中的列将有附录为它们制作的索引。
  • CoordSys(坐标系统)子句
    • 指定COORDSYS子句以注明数据不是以经度/纬度形式保存的。未指定COORDSYS子句时,假定数据是以经度/纬度形式保存的。所有坐标都是以相对于东北象限的值保存的。
  • Columns(列)
    • 指定列数。然后为每列创建一行,它包含列名、列类型,对于字符列和小数列,还包含一个指示字段宽度的数。 有效的列类型是:
  • MIF文件的数据节在文件头之后,且必须由DATA 以单独的一行引入: DATA
    • 可以指定的图形对象为:
      • 点(point)
      • 直线(line)
      • 折线(polyline)
      • 区域(region)
        • 一个区域(region)对象由一个或多个多边形构成。用numpolygons 参数设定多边形数量(紧跟在REGION 关键字后面)。为每个多边形设定一个numpts参数(该参数指出该多边形中节点的数量),其后为每个节点的x/y坐标对。
      • 用可选的PEN 和BRUSH 子句(本附录稍后说明)指定该对象的样式。用可选的CENTER子句来精确定义该对象的中心位置。中心必须位于对象内。
      • 圆弧(arc)
      • 文本(text)
      • 矩形(rectangle)
      • 圆角矩形(rounded rectangle)
      • 椭圆(ellipse)

MIF MID

MIF文件的数据节可以有任意多个图形初值,每个初值代表一个图形对象。MapInfo使MIF和MID 文件中的条目相互匹配,MIF文件中的第一个对象与MID文件中的第一行关联,MIF文件中的第二个对象与MID 文件中的第二行关联,依此类推。

MIF MID空行

如果MID 文件中特定的一行没有对应的图形对象,那么必须在MIF 文件中的相应位置上写一个“空白”对象(NONE)以保留该位置。 NONE

颜色RGB计算方法

(红色   *   65536)+(绿色   *   256)+蓝色  
1

文本数据包含在.MID 文件中

每行一个记录以及行间的回车,或者回车加换行,或者换行