Mapinfo难点讲解之无缝图层的特点及操作

图层是GIS数据组织和管理的基本单位,对空间数据进行分层是GIS对数据管理的重要内容,分层管理便于数据处理和分析,在GIS图层支持下,地图编辑、制图综合、专题制图会更加方便、准确、迅速,利用不同图层可完成查询检索、叠加分析等空间分析任务。

GIS图层支持下的数据分层分层首先必须认真分析已有数据,阅读有关专题图件,了解分层数据属性和几何特征,对整个图形主要结构有一个全面的了解,然后按照一定的用户目的,从既满足GIS空间分析又满足地图编制、制图综合、专题制图的需求出发,根据GIS分层原则对空间数据进行分层。为了方便使用,为了与其他信息系统或数据库兼容,在分层、图层命名、图层编码等诸多方面都必须采用国家标准和行业标准。图层的设置以《图式》为依据,根据GIS数据技术的特点,把多源的类型、比例尺、图幅名称等识别码冠入到图层及属性文件名是非常不利于管理和标准.

1.关于无缝图层

使用或建立无缝图层的目的是为了把一组基础表当作对象象一个表那样来处理它们。

一个无缝图层允许你改变显示属性、应用或改变标注,或者同时对整个一组表使用层控制对话框。

你可以用Info工具获取信息,并且选择或浏览该层的任何一个基表。

基础表可以是任何一个正规的MapInfo表,但不能是注册的或未注册的栅格图象。

这个特征,当你要想为你联接的街道图或边界图之类显示一个夭量背景时特别有用。例如,你可以有一个由好几个县表组成的县边界的无缝图层。

2.建立/编译一个无缝图层

为了建立你自已的无缝图层,要运行无缝层管理程序,方法是:

⑴File>Run MapBasic Program

⑵Chose Seammr.mbx

这个管理程序会用信息提示你并建立你的无缝层。

如果你使用的是类型相同的、理想的是有相同的投影和相同的列数的表,你的无缝层将是最有用的。例如,你可以要你的无缝层包括好几个县,各个县以一个单独的基表存放,或者一条穿过好几个州的跨州公路,各段以一个单独的基表存放。

你每次对无缝层的结构作了编辑时,你都必须用无缝层管理程序重新编译它。

3.无缝层所具有的MapInfo性质

因为无缝层实际上是由几个表组成的,MapInfo对待它,与正规的MapInfo表稍微有一点不同。

对于一个无缝图层,你可以使用如处的MapInfo性质:

⑴Layer Control(层操作)

除了层操作对话框的Thematic Mapping之外,可用于你的无缝层。可以同时对一个无缝层(全部基表)进行加上,移去或重排序,或者设置显示,缩放或标注选择。但是你不能使你的无缝层成为可编辑的。

⑵Info Tool

获取指定对象在基表中的信息

⑶从无缝层选择多个对象,你只能选择处于同一个基表中的一组对象,按住Shift用选择工具来进行。如果你试图选择处于不同基表中的几个对象,MapInfo将只选择那些于一个基表中的对象。如果你用方框或半径选择工具选择跨越两个基表的区域,MapInfo就选择园心或多边形形心所在的表。

⑷Browse Table

一个指定的无缝表显示出一个Browser窗口,你会被提示选择一个基表。

当你不知它是无缝表进,让你选基表,你也不知道基表的名字,即不知道它是由那些表组成的。

4.打开一个无缝图层

MapInfo包括了几个样品无缝图,你也可以建立你自已的。

样品在datausaDCseamless目录下。

用File>Open Table选择表名来打开。

实际上在该目录下并没有保存无缝表,而保留的是单个的基表。它们文件的最后一个字符为a、b、d或w。属于b、d、w的也一样。所以开始不是打开的问题,这里开始应该建立,名字自定。实际上,它们的主表在一级目录中。

无缝图的补充

在DC目录中:

1. DC_areas为一区域无缝图层(各分表的最后字母为a)

由SeamlessVaarlia.Tab

SeamlessDcwasha.Tab

SeamlessVaalexa.Tab

组成。

2. DC_bdys为一边界无缝图层,3. 由(各分表的最后字母为b)

由SeamlessDcwashb.Tab

SeamlessVaalexb.Tab

SeamlessVaarlib.Tab

组成。

4. DC_quad是一个图片的表,5. 它有同6. 名7. 的图片文件,8. 不9. 知与那一个表发生联系。

10. DC_strts是一个无缝图层(各分表的最后字母为d)

由SeamlessDcwashd.tab

SeamlessVaalexd.Tab

SeamlessVaalid.Tab

组成。

11. 5.DC_water是一个无缝图层由(各分表的最后字母为w)

由SeamlessDcwashw.tab

SeamlessVaalexw.tab

SeamlessVaarliw..tab

组成。

12. DC_zip是华盛顿特区的邮编表。

Dcwashs这个表包括了Dcwashs1和Dcwashs2两个表,Dcwashs和Dcwashs1可单独分别打开,各有Browser表。

Dcwashs2虽有只能打开Browser,这三个表的文件组成特殊,情况如下:

DCwashs.Tab、DCwashs1.dat、DCwashs1.ID、DCwash1.IND DCwash1.MAP、DCwash1.Tab、DCwash2.dat、DCwash2.IND、DCwash2.Tab

只有一个Map,三个表结构,两个数据表,S1的文件最齐全,S2只有Browser表,S的文件最不齐全,只有一个文件,但将其输出后再输入便会生成全部文件。

首先要注意,无缝图层外观看起来与任何其它Mapinfo表没有区别,但它们是由好几个表组成的。

每一个无缝图层的结构都包括各基表的路径加上一个默认为表名(别名)的描述。为了观看结构,要关闭无缝层再在一个Browse窗口中显示该无缝表。

5、打开和关闭无缝层

如果你需要纺织你的无缝层的结构,你必须关闭你的无缝图层。

为了关闭无缝层:

①选择Option>Show MapBasic Window

②打入Set Table 撐薹毂砻麛Seamless off(实际上不用这样,直接用管理程序就行了)。

在一个Browser窗口中显示该表的观察或编辑它的表结构。如果你编辑了表结构,你必须重新编译这个无缝层。

为了打开无缝层:

(1) 选择Option>Show MapBasic Window。

(2) 打入Set Table撐薹毂砻? ?FONT FACE="Times New Roman">Seamless On。

6、 无缝层表操作顺序的特殊性

MapInfo含有一个MapBasic 程序,即无缝层管理程序(Seammgr.mbx),它使你能够建立和管理无缝表。为了看到无缝表的组成,你必须把这个表的撐薹煨詳关掉,要按如下的顺序操作:

1 打开一个无缝表,2 如DCMetroA

3 运行无缝管理程序。

4 选择Tools>Seamless Manager>Turn Seamless off以关掉这个DCMetroA表的无缝属性。

5 选择Window>New Browser Window把这个表显示一个Browser中。

象普通表一样,无缝表也有行和列,每个行对应包括在该无缝表中的一个基表。无缝表的第一列含有(基表的)表名,第二列含有描述(descriptions),它是出现在用户介面中的。

第一列中的表名可以包括目录路径。如果你的基表与无缝表是在同一目录中,你可以省略目录路径,或者基表量在搜索目录路径上(它是在Directort Proferences对话框指定的)

无缝表中的每一行有一个图对象与之联系,正如在常规表中的行与对象的关联那样。但是无缝表中的对象并不是用以显示的。

无缝表中每个行有一个矩形对象,它为第一列中命名的表定义了最小矩形。当用户在Map窗口显示一个无缝层时,MapInfo把Map窗的当前范围与存放在这个表中最边界矩形相比较。必要时MapInfo只打开基表(即,当Map窗当前可视范围与表的最小边界矩形相交时)。

13. 无缝表的MapBasic句法

要把一个无缝表转换成一个常规表,使用Set Table语句。例如,如果你要编辑无缝表中的描述,你该发出如下语句:

Set Table DCMetroA Seamless off

然后在Browse窗口中编辑这个表的描述。

Call TableInfo(, TAB_INFO_SEAMLESS)用来测定一个表是不是无缝表。

CALL GetSeamlessSheet()用来显示一个提示用户从一个无缝表中选择一个基表的对话框。

14. 无缝表的限制

无缝表中所有的基表必须有相同的结构(即,相同的列数,相同的列名,等等)。

注意:有些MapInfo操作不能用于无缝表。例如:

你不能在一个无缝表中同时选择一个以上的基表。

MapBasic的Find语句不能搜索到整个的无缝表;Find语句一次只能操作一个基表。

你不能使一个无缝表在一个Map窗口内成为可编辑的。

你不能为一个无缝表建立专题图。