MapInfo TAB和MIF/MID

司机简称

MITAB

Driver built-in by default

This driver is built-in by default

本机(TAB)格式和交换(MIF/MID)格式的MapInfo数据集支持读写。支持更新现有选项卡文件(添加新功能、修改和删除现有功能、添加/重命名/删除字段…)。不支持更新现有MIF/MID文件。

注意:在本文档的其余部分中,“MIF/MID文件”用于引用一对.MIF+.MID文件,“TAB文件”用于引用二进制形式的MapInfo表的文件集(通常具有扩展名.TAB、.DAT、.MAP、.ID、.IND)。

MapInfo驱动程序将整个文件目录视为数据集,将该目录中的单个文件视为层。在这种情况下,目录名应该用作数据集名。

但是,也可以将MapInfo集中的某个文件(.tab或.mif)用作数据集名称,然后将其视为具有一个单层的数据集。

支持读取和写入MapInfo坐标系信息。

驱动程序功能

Supports Create()

This driver supports the GDALDriver::Create() operation

Supports Georeferencing

This driver supports georeferencing

Supports VirtualIO

This driver supports virtual I/O operations (/vsimem/, etc.)

创建问题

TAB文件格式要求在写入第一个特征之前设置新文件的边界(地理范围)。

目前没有自动设置每个空间参照系统的有效默认边界,因此,在创建新图层时,MapInfo驱动程序暂时设置以下默认边界:

  • 对于LAT/LON(地理)坐标中的文件:边界(-180,-90)(180,90)

  • 对于任何其他投影:边界(-30000000+假_东距,-15000000+假_北距)(30000000+假_东距,15000000+假_北距)

可以通过两种机制覆盖这些边界。

  • 指定包含带边界的投影定义的用户定义文件。必须使用MITAB_BOUNDS_file配置选项指定此文件的名称。这允许用户覆盖现有投影的默认边界,并为驱动程序中硬编码表中未列出的新投影定义边界。文件的格式是一个简单的文本文件,每行有一个CoordSys字符串。CoordSys行应该遵循MIF规范,并且必须在行的末尾包含可选的边界定义,例如。

    # Lambert 93 French bounds
    CoordSys Earth Projection 3, 33, "m", 3, 46.5, 44, 49.00000000002, 700000, 6600000 Bounds (75000, 6000000) (1275000, 7200000)
    

    也可以在具有边界的源坐标系和目标坐标系之间建立映射。这种映射是通过添加以“Source=”开头的行,后跟CoordSys(等号前后的空格无关紧要)来指定的。下一行应以“Destination=”开头,后跟带边界的CoordSys,例如。

    # Map generic Lambert 93 to French Lambert 93, Europe bounds
    Source      = CoordSys Earth Projection 3, 33, "m", 3, 46.5, 44, 49, 700000, 6600000
    Destination = CoordSys Earth Projection 3, 33, "m", 3, 46.5, 44, 49.00000000001, 700000, 6600000 Bounds (-792421, 5278231) (3520778, 9741029)
    
  • 使用边界层创建选项(见下文)

如果在创建图层时没有提供坐标系,则使用投影情况,而不是地理位置,如果坐标真的是地理位置,则可能导致精度非常低。您可以将“-a_srs WGS84”添加到 ogr2ogr 强制地理模式转换期间的命令行。

MapInfo功能属性受到许多限制:

  • 只能创建整数、实数和字符串字段类型。无法创建各种列表和二进制字段类型。

  • 对于字符串字段,字段宽度用于确定.dat文件中的存储大小。这意味着超过字段宽度的字符串将被截断

  • 没有指定宽度的字符串字段被视为254个字符。

数据集创建选项

  • FORMAT=MIF :创建MIF/MID而不是TAB文件(默认为TAB)。

  • SPATIAL_INDEX_MODE=QUICK/OPTIMIZED :默认值为QUICK force“快速空间索引模式”。在这种模式下,写入文件的速度可以快5倍,但空间查询的速度可以慢30倍。可以将其设置为“优化”以生成优化的空间索引。

  • [BLOCKSIZE=[512,1024,...,32256]] (512的倍数):.map文件的块大小。默认为512。MapInfo 15.2及更高版本创建块大小为16384字节的.tab文件。任何MapInfo版本都应该能够处理从512到32256的块大小。

图层创建选项

  • BOUNDS=xmin,ymin,xmax,ymax :定义自定义图层边界以提高坐标的精度。注意:书写特征的几何图形必须在定义的框中。

  • ENCODING= 价值 :(GDAL>=2.3)定义字段名和字段值的编码。编码名称以cprecode支持的格式(例如ISO-8859-1、CP1251、CP1252…)指定,并在内部转换为MapInfo字符集名称。默认值为“”等于“Neutral”MapInfo字符集。

  • DESCRIPTION= 价值 :(GDAL>=3.1.0)友好的层名称(仅用于制表符格式)。友好名称最长可达256个字符,并且可以包含大多数ASCII字符。由MapInfo Pro v15.0或更高版本支持。

配置选项

The following configuration options are available:

  • MITAB_SET_TOWGS84_ON_KNOWN_DATUM =是/否:(GDAL>=3.0.3)。从gdal3.0.3开始的默认行为是NO。也就是说,从.tab头读取的TOWGS84参数将 not 当可以推断出基准时,设置在CRS的基准对象上。

也见