MapInfo之格式说明(转载)
1、数据文件
下列文件组合起来描述一个图层:
.tab
描述MapInfo表结构,说明数据文件格式 文本
.dat(.mdb/.dbf/.txt/.xls/.wks)
表格数据 二进制
.map
图形对象(无图形,对象则不存在) 二进制
.id
连接数据和地图对象的参照文件(无对象则不存在) 二进制
.ind
索引文件,查帐地图对象 二进制
2.描述地图文件有两种
.gst 文本格式,tab文件的集合,不能存入数据库
.mdf XML格式,包含各图层的信息,可以存入数据库 (*!)
3. 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) ;…
!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元数据
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) ;
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) ;
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 ;
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
另外还有BrushSymbol(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
欢迎访问SuperMap技术问答社区http://qa.supermap.com/