数据文件
下列文件组合起来描述一个图层:
后缀名
描述
格式
.tab
描述Mapinfo表结构,说明数据文件格式
文本
.dat(.mdb/.dbf/.txt/.xls/.wks)
表格数据
二进制
.map
图形对象(无图形对象则不存在)
二进制
.id
连接数据和地图对象的参照文件(无对象则不存在)
二进制
.ind
索引文件,查找地图对象
二进制
描述地图的文件有两种:
.gst
文本格式,.tab文件的集合,不能存入数据库
.mdf
XML格式,包含各图层的信息,可以存入数据库,推荐使用
.tab文件结构
header
!table
!version 300
!charset WindowsLatin1
body
commands
MapBasic命令,在读入下一部分(table definition)前顺序执行。
table definition
描述表结构
有下列几种:
NATIVE格式
Definition Table
必须
Type NATIVE Charset "WindowsLatin1"
必须
Fields 4
必须,域段数量
id Integer Index 1 ;
域段名字,类型,索引
structure_type Char (13) ;
...
mast_type Char (15) ;
…
foundation_type Char (17) ;
…
栅格文件
Definition Table
必须
File "sf_rastc.bil"
必须,栅格文件名
Type "RASTER"
必须
(548421,4183579) (0,0) Label "Pt 1",
(548441,4183579) (1,0) Label "Pt 2",
(548421,4183559) (0,1) Label "Pt 3"
CoordSys Earth Projection 8, 62, "m", -123, 0, 0.9996, 500000, 0 Units "m"
RasterStyle 2 62
mig文件
Definition Table
必须
File "bidon_value.mig"
必须,MIG文件名
Type "RASTER"
必须
(297153.63503593224,5007379.3522604182) (0,0) Label "",
(312554.15366307431,5007379.3522604182) (204,0) Label "",
(312554.15366307431,4992205.3118483815) (204,201) Label "",
(297153.63503593224,4992205.3118483815) (0,201) Label ""
CoordSys Earth Projection 8, 33, "m", -73.5, 0, 0.9999, 304800, 0 Units "m"
RasterStyle 6 1
begin_metadata
…
end_metadata
元数据
分隔ASCII
Definition Table
必须
Type ASCII Delimiter 09 Titles Charset "WindowsLatin1"
必须
Fields 3
和NATIVE类似
Start Float ;
End Float ;
Side Char (6) ;
Excel XLS文件
Definition Table
必须
TypeXLSTitlesRange "Sheet1"
必须
Fields 3
和NATIVE类似
A Float ;
B Float ;
C Char (6) ;
Lotus WK*文件
Definition Table
必须
File "lotus.wk4"
必须,指定文件名
Type WKS Titles
必须
Fields 1
和NATIVE类似
A Char (1) ;
Access MDB文件
Definition Table
必须
File "sample.mdb"
MDB文件名
Type ACCESS TABLE "rdatbln_line" Charset "WindowsLatin1"
必须
Fields 5
和NATIVE类似
FNODE_ Integer ;
TNODE_ Integer ;
LPOLY_ Integer ;
RPOLY_ Integer ;
LENGTH Float ;
元数据
begin_metadata
"\IsReadOnly" = "FALSE"
"\Identification" = ""
"\Identification\Use Constraints" = "For use with MapInfo Professional"
"\Identification\Access Constraints" = "Licensed Users"
"\Identification\Domain" = ""
"\Identification\Domain\Bounds" = ""
"\Identification\Domain\Bounds\West" = "-16190368.44"
"\Identification\Domain\Bounds\East" = "16606614.14"
"\Identification\Domain\Bounds\North" = "6743291.67"
"\Identification\Domain\Bounds\South" = "-5501153.1"
"\Identification\Citation" = "MapInfo Professional Bundled Maps; World Capitals"
"\Identification\Description" = ""
"\Identification\Description\Abstract" = "Location of world capitals.Also included regional and colonial capitals of significant areas belonging to other countries.Based on current World Almanac and UN definitions of Countries."
"\Identification\Time Period" = ""
"\Identification\Time Period\Currentness" = "1995"
"\Identification\Keywords" = ""
"\Identification\Keywords\Theme" = ""
"\Identification\Keywords\Theme\Geography" = "World"
"\Identification\Keywords\Theme\Geography\Abbreviation" = ""
"\Identification\Keywords\Theme\Content" = "Reference Data"
"\Identification\Keywords\Place" = ""
"\Identification\Keywords\Place\Layers" = ""
"\Identification\Keywords\Place\Layers\Count" = "1"
"\Identification\Keywords\Place\Layers\Layer1Name" = "World"
"\Identification\Keywords\Place\Layers\Layer1" = "World"
"\Spatial Reference" = ""
"\Spatial Reference\Geographic" = ""
"\Spatial Reference\Geographic\Projection" = ""
"\Spatial Reference\Geographic\Projection\Clause" = "CoordSys Earth Projection 12, 62, ""m"", 0 Bounds (-34012036.7393, -8625248.51472) (34012036.7393, 8625248.51472)"
"\Spatial Reference\Geographic\Projection\Name" = "Robinson"
"\Spatial Reference\Geographic\Coordinate Units" = "Meters"
"\Spatial Reference\Geodetic" = ""
"\Spatial Reference\Geodetic\Datum" = "NAD 27"
"\Spatial Reference\Geodetic\Ellipsoid" = "Clarke 1866"
"\Spatial Organization" = ""
"\Spatial Organization\Object" = ""
"\Spatial Organization\Object\Type1" = "Regions"
"\Spatial Organization\Object\Type1\Count" = "0"
"\Spatial Organization\Object\Type2" = "Points"
"\Spatial Organization\Object\Type2\Count" = "214"
"\Spatial Organization\Object\Type3" = "Polylines"
"\Spatial Organization\Object\Type3\Count" = "0"
"\Spatial Organization\Object\Type4" = "Lines"
"\Spatial Organization\Object\Type4\Count" = "0"
"\Spatial Organization\Object\All" = ""
"\Spatial Organization\Object\All\TotalCount" = "214"
"\Spatial Organization\Method" = ""
"\Spatial Organization\Method\Type" = "Points"
"\Quality" = ""
"\Quality\Lineage" = ""
"\Quality\Lineage\Source" = ""
"\Quality\Lineage\Source\Vintage" = "1995"
"\Quality\Lineage\Source\Scale" = "~ 1:20,000,000"
"\Quality\Lineage\Source\Citation" = "MapInfo from Digital Chart of the World"
end_metadata
Oracle Spatial
一个空间数据表对应着下面数据字典表中的一行。
MAPINFO_MAPCATALOG
CREATE TABLE MAPINFO.MAPINFO_MAPCATALOG (
SPATIALTYPE NUMBER,
TABLENAME VARCHAR2(32),
OWNERNAME VARCHAR2(32),
SPATIALCOLUMN VARCHAR2(32),
DB_X_LL NUMBER,
DB_Y_LL NUMBER,
DB_X_UR NUMBER,
DB_Y_UR NUMBER,
COORDINATESYSTEM VARCHAR2(254),
SYMBOL VARCHAR2(254),
XCOLUMNNAME VARCHAR2(32),
YCOLUMNNAME VARCHAR2(32),
RENDITIONTYPE NUMBER,
RENDITIONCOLUMN VARCHAR2(32),
RENDITIONTABLE VARCHAR2(32));
--在TABLENAME,OWNERNAME上创建索引
CREATE
UNIQUE INDEX MAPINFO_MAPCATALOG_INDEX ON MAPINFO.MAPINFO_MAPCATALOG (TABLENAME,OWNERNAME);
表域段说明
域段名
取值
示例
SPATIALTYPE
SpatialWare值:
5.0 (SpatialWare points)
5.1 (SpatialWare lines)
5.2 (SpatialWare regions)
5.3 (SpatialWare, all types of features)
Informix IUS值:
11.0 (IUS SW Blade points)
11.1 (IUS SW Blade lines)
11.2 (IUS SW Blade regions)
11.3 (IUS SW Blade, all types of features)
5.3
TABLENAME
表名
Country
OWNERNAME
所有者
PKUGIS
SPATIALCOLUMN
字段名,可能包含空间属性
SW_GEOMETRY(mappable using SpatialWare Type/IUS)
NO_COLUMN (mappable using X-Y)
MI_SQL_MICODE (mappable using MI Code)
或IUS字段名(ST_SPATIAL数据类型)
SW_GEOMETRY
DB_X_LL
图层外接四边形左下角的X坐标
-360
DB_Y_LL
图层外接四边形左下角的Y坐标
-90
DB_X_UR
图层外接四边形右上角的X坐标
360
DB_Y_UR
图层外接四边形右上角的Y坐标
90
COORDINATESYSTEM
参考坐标系
Earth Projection 1, 0
SYMBOL
若图层只包含点,则用Symbol;
若有线或区域边界,则用Pen
另外还有Brush
Symbol(35,0,12) Pen(1,2,0) Pen(1,2,0) Brush(2,255,255)
XCOLUMNNAME
包含X坐标的字段的名称,若没有,则为NO_COLUMN.
NO_COLUMN
YCOLUMNNAME
包含Y坐标的字段的名称,若没有,则为NO_COLUMN.
NO_COLUMN
RENDITIONTYPE
1
RENDITIONCOLUMN
RENDITIONTABLE