物探论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 522|回复: 0

使用MapInfo Professional(5)

[复制链接]
发表于 2013-3-12 21:00:08 | 显示全部楼层 |阅读模式
一、概述:
我们将创建一个数据库表并为其加入地理对象,创建诸如折线和多边形之类的对象, 并
且练习对齐节点的用法,此外,还使用Info信息工具输人与所创建对象相关的信息。
二、涉及的特性和概念:
多边形:一种简单的闭合区域。简单,从某种意义上讲,是指该区域不是由多个多边形组
成的(一个边界可由多个多边形组成)。多边形工具可创建多边形。
线、线对象:一种地图对象,由一系列连续坐标定义。该坐标表达了经综合的地理要素的
形状(例如街道的中心线、铁路、电缆等),MapInfo的街道地图是许多线对象的集合。
折线:一种由许多段组成的线类型对象。它包含两个以上的节点,也就是说,除端点外还
有其它节点。折线工具用于创建折线,而直线工具仅绘制直线(也就是说,通过两个节点
定义直线)。
点、点对象:用一对 X、Y 坐标定义的地图对象。每个点对象通过一种符号样式(例如圆
、方形、三角形等)表示。
对齐(节点):一种绘图和编辑工具,用来保证相邻的地图对象没有不必要的裂缝或覆盖
。用户绘图时,该软件自动将每个新节点与最近的已知节点对齐(除非在给定的容限值之
内没有节点,这时新节点就不能被捕捉(对齐))。
地图分段:在街道地图中,一段是指街道的一个部分;在市区地图中,段一般指一个街区
,地址范围被存贮在段级。
三、实际应用:
MapInfo的创建对象的工具和过程基本上用于将新的实体加人到地图层中。例如,你可能希
望将新的街道加入到 MapInfo街道地图中,为首府地区创建一个校区,或者将公共管网线
图层加入到地图中。
首先,清除桌面:
选择File>Close All。
下面打开本课用到的一个街道地图:
a、选择File>Open Table。
b、从File Name 列表中,选择DATA\USA\DC\DC_STRTS.TAB。
c、单击Open。
d、将地图窗口最大化。
由于折线和多边形经常用于实际的地图对象(邮政编码、校区、公用设施管线、街道),
我们将练习绘图工具条上的两个工具:折线和多边形绘图工具。
我们创建一个新的文件来放置这些地图对象。
a、选择File>New Table, New Table对话框显示出来。
b、选中Add to Current Mapper(加到当前图层)。
c、单击Create(创建)。
d、在Name框中输入Object_name。
e、单击Create。
f、输入OBJECTS作为新文件名。
g、单击Save。
我们现在创建了一个数据库,它包含一个存贮所创建对象信息的字段。数据库现在是地图
窗口中的一个图层。由于它是一个新文件,它自动为可编辑状态,创建对象时,我们将给
数据库增加一些空白记录。
绘制拆线:
a、单击绘图工具条上的折线工具。
b、单击地图窗口中折线的起点。
c、在折线的每个节点处单击。
d、在折线终点处双击。
现在,要绘制一个多边形:
该过程类似于拆线的绘制。区别在于,在终点双击时,MapInfo绘制最后一段以闭合此多边
形。
a、单击绘图工具条上的多边形工具。
b、单击地图窗口中多边形的起点。
c、在多边形的每个节点处单击。
d、双击,MapInfo绘制最后一段将多边形闭合。
实用上,折线和多边形可能非常复杂,有时包括许多线段。
多边形通常邻接于其它多边形。换句话说,它们共用同一边界。为了使绘制多边形的过程
更加容易和精确, MapInfo有一个“Snap” Setting(对齐节点设置),使得用户能沿着
多边形和折线的边界跟踪。
激活对齐模式类似于在每个已知节点周围创建一个小磁场。如果在磁场内的任一位置处绘
制一个新的节点,它将被精确绘制到已知节点上。
下面激活对齐模式:
a、选择Options(选项)>Preferences(参数设置)。 Prefercnces(参数设置)对话框
显示出来。
b、单击Map Window(地图窗口)。
c、在对话框的Snap tolerance(抓取距离)部分,设置捕捉范围为20个象素点。
d、单击OK,返回到参数设置对话框。
e、单击Done(确定)。
f、按键盘上的S,激活对齐模式。
观察状态条,它显示出SNAP,表明对齐模式是活动的。
g、在前个多边形的邻接处绘制另一个多边形,并保证跟踪它的一部分。
当你靠近已知多边形的节点时,注意到将新节点精确匹配到已知节点上是容易的,十字丝
显示出你将对齐的节点。
创建地图对象之后,下面把有关它们的信息输入到数据库中,最简单的办法是使用信息工
具。
使用信息工具:
a、单击主工具条上的信息工具。
b、单击新绘制的对象之一。
c、在信息工具窗口单击Object_name。
d、为对象输入名字。
e、为每个绘制的对象重复该过程。
最后,保存创建的所有对象和信息:
a、选择File>Save Table。
b、从Save Table下拉列表中选择 OBJCETS。
c、单击OK。
四、小结:
本课,你学会了如何创建新的地图对象,通过创建一个新表并将其加入列当前地图上,你
可以将绘制的对象放到新表中,当对象存到表中时,一个数据记录被创建,并且与每个对
象相关联。使用信息工具为对象命名。为了创建需要跟踪已知边界或街道的对象,使用SN
AP。为了保存新的对象,使用 File >Save命名。
第十六课 编辑地图对象
一、概述:
本课,我们将学会如何对前述课程创建的对象进行编辑、整形及改变它们的属性。因此我
们将用到Objects(对象)菜单中的大多数命令。
二、涉及的特性和概念:
区域,区域对象:由一个或多个多边形定义的封闭区域。若一个区域中包含一个或多个湖
或岛,每个湖或岛都是一个独立的多边形。
节点:直线对象的端点,或属于折线或区域对象的直线段的端点。
编辑柄:在一个地图窗口的可编辑图层或在一个布局窗口中,出现在一个对象最小边 界
矩形四角的小方框。
三、实际应用:
一个对象,无论是用户创建的,还是MapInfo提供的地图中的,经常需要被修改。例如,一
个警区可能要重定义,电缆通道需要重新设计路线,以及市场地区需要改变等等。为此,
编辑工具提供了一种最方便的方法。
通过使用OBJECTS文件,我们将了解对象一旦被创建后,如何编辑它们。所有对象的编辑过
程都是相同的,即首先选择一个可编辑对象,然后再使用 Edit(编辑)菜单的编辑命令。
在开始前,需要关闭信息工具框(双击左上角)。
a、单击主工具条中的选择工具。
b、单击前次课中绘制的折线。
注意折线周围出现了编辑柄。编辑一般用于改变对象的线型、填充图案或文本。
下面,我们将整形一个对象。
单击绘图工具条上的整形按钮,节点以黑色的正方形被标志。
1)移动一个节点:
a、单击一个节点,并按住鼠标键。
b、拖动至所需的位置处,释放鼠标键。
2)增加一个节点:
a、单击绘图工具条上的增加节点按钮。
b、在键盘上按S键,将对齐模式关闭。
c、在需增加节点的线段处单击。
3)清除一个节点:
a、使用选择工具在节点上单击。
b、按Delete键。
4)恢复编辑:
选择Edit>Undo(恢复)。
5)结束整形:
为结束整形过程,使用选择工具在所选对象之外单击。
在折线之外单击,放弃对它的选择。
仅适用于折线的一种有趣特性是将折线平滑、即将它们转折处的尖角平滑。该过程可应用
于一个新选择的折线。
6)折线平滑:
a、再次选择折线。
b、选择Objects(对象)>Smooth(平滑)。
整形和增加节点按钮同样适用于多边形,你可将这些功能试用于你所创建的多边形。
一些应用程序可能需要将地图对象从一种类型转换到另一类。在MapInfo中,折线可被转化
为多边形,而且多边形也可转换为折线。
7)将折线转化为多边形:
a、使用选择工具选择一条折线。
b、选择Objects(对象)>Convert to Regions(转换为区域)。
不仅折线可以转化为多边形,而且椭圆、矩形及圆角矩形也同样可以转化为多边形。
8)将多边形转化为折线:
a、使用选择工具选择一多边形。
b、选择Objects(对象)>Convert to Polyline(转换为折线)。
记住,使用 File(文件)>Save Table(保存表)命令保存你所做的工作。
四、小结:
本课演示了如何使用绘图工具条上的工具和一些菜单命令编辑地图对象。别忘了执行File
>Save Table命令将所有的编辑、修改保存到磁盘上。
第十七课 创建缓冲区
一、概述:
使用US_CUST表和CITY_125表,我们需要了解居住在城市五十英里之内的消费者的身份和数
量。为此,我们要创建缓冲区。
二、涉及的特性和概念:
缓冲区:一种近似分析,围绕所选择地图对象的一个给定距离而产生的面积或区域。缓冲
区是用户定义的,或者是对一组对象根据这些对象的属性值而产生的。结果缓冲区形成一
个区域对象,表示该区域是对象的指定缓冲区距离内。
空间分析:为获得或创建满足某些所需条件的新数据而查看数据的操作。包括多边形覆盖
或缓冲区产生等GIS功能,和包含、交叉、内部和相邻等概念。
三、实际应用:
缓冲区提供了一种在一个对象周围给定区域内执行分析的途径,缓冲区是指地图窗口中环
绕一个点对象、一个线对象、一个多边形或其它非文本对象的多边形。
由于用不上前面课程的任一文件,关闭它们。
选择File>Close All。
我们需要在同一地图窗口中打开STATES表和 CITY_125表,使用 Open Table命令打开这些
表 (在DATA\USA)。
使用前面课程中学到的一些工具,在地图窗口中显示出US(美国)。
由于要创建一个实际为多边形的缓冲区,要求地图窗口中有一个可编辑图层。
a、选择Map(地图),Layer Control(图层控制)。
b、选择Cosmetic Layer(装饰图层)。
c、选中Editable(可编辑)。
d、单击OK。
下面,在地图窗口中选择你将要创建缓冲区的对象。在本例中,我们将从CITY_125图层中
选择一些城市。为此,要用上主工具条上的矩形选择工具。
a、单击主工具条上的矩形选择工具。
b、在地图窗口中背景的左上角单击,并按住鼠标左键。
c、将光标拖动右下角,井释放按键。
所有的城市都被选择了。
如果没有选择对象或者没有一个可编辑图层,就不能创建缓冲区。
现在准备创建缓冲区。
a、选择Objects(对象)>Buffer(缓冲区), Buffer Objects(缓冲区对象)对话框显
示出来。
b、在Radius(半径)的Value(值)框中输入50。
c、 Units(单位)设置为英里(miles)。
d、接受缺省的Smoothness(平滑)设置(12)。
e、接受缺省设置: One buffer of all objects(为所有对象创建一个缓冲区)。
f、单击OK。
可将显示增强,以使被缓冲区遮盖的城市可见:
a、选择Options(选项)>Region Style(区域样式)。
b、在Fill Pattern(填充图案)下拉列表中选择N(No)。
c、单击OK。
还可对缓冲区的边界进行设置,以达到更好的视觉效果:
a、选择Options>Region Style。
b、在Border(边界)下拉列表中选择直线的不同样式和宽度来定义缓冲区对象的边界。
c、单击OK。
下面实际选择大城市50英里之内的消费者:
a、打开US_CUST表并显示在窗口中。
b、单击主工具条上的边界选择工具。
c、在缓冲区内的任一位置处(除了城市或消费者)单击。
最后,将所选择的消费者显示到浏览窗口中。
a、选择Window(窗口)>New Browse Window(新建浏览窗口)。
b、从下拉列表中选择Selection。
c、单击OK。
四、小结:
创建缓冲区允许你对所选择的对象周围或内部特定区域处的数据进行分析。该过程创建的
对象是表示定义范围的多边形。本课创建的缓冲区是在装饰图层上创建的,但其它的任何
图层都可以被使用。当创建一个缓冲区时,要保证有一个可编辑的图层,它被用来存贮缓
冲区,选择希望创建缓冲区的对象,定义缓冲区范围以及确定是为每个对象各创建一个缓
冲区还是为所有对象建立一个缓冲区。在结束时,创建的缓冲区可以保存到新表中,或存
到已知文件中。
第十八课 合并、擦除和分割
一、概述:
本课,将使用合并、设置目标和清除目标等命令将许多区域合并成一个大区域。在合并对
象时,还要实践如何聚合数据。当使用擦除命令从大区域中删除一个区域时,要从大区域
中分解数据。最后,使用更新列命令来更新一列。
二、涉及的特性和概念:
数据聚合:把若干分离的地图对象合并成单一对象的过程。MapInfo基于原对象数值的总和
或平均值,计算新对象的列的值。
数据分解:把地图对象分割成若干较小部分的过程。在这一过程中MapInfo把同地图对象相
关的数据分割成较小的部分以匹配新的地图对象。
三、实际应用:
创建区域对象时,合并命令执行一个简单但重要的任务,它将选择的多个多边形合并成—
个区域对象。使用该命令的一个典型例子就是将一些州合并成一个销售区域。同样,擦除
和分割命令允许你擦除对象以及从销售区域中分割对象。
首先,清除桌面。
选择File>Close All。
用户经常需要通过聚合将较小的对象合并到一起来创建新区域对象。在本练习中,我们要
将美国各州合并成四个大区域。
由于不想对STATES表中的对象进行编辑或修改,需要为 STATES表创建一个备份并且使用新
的文件。
a、选择File (文件) >Open Table (打开表)。
b、选择STATES表。
c、单击Open。
d、选择File (文件)>Save Copy As... (另存为...)。
e、在File Name (文件名) 列表框中,输入ZONES.TAB。
f、单击Save。
g、关闭原始表。选择File>Close All。
现在,打开新的文件:
a、选择File>Open Table(打开表)。
b、选择ZONES。
c、单击Open。
合并州时,我们同时能够计算销售区域内的数值总和。在本例中,MapInfo将计算出用于合
并创建区域的州的1990年的销售总额。为此,需要修改表结构。
a、选择Table (表) >Maintenance (维护) >Table Structurs (表结构)。
b、从下拉列表中选择 ZONES并单击 OK,Modify Table Structure (修改表结构)对话框显
示出来。
c、单击Add Field (增加字段)。
d、在Field Information (字段信息) 部分,在Name (名字) 框中输入Name。
e、在Type (类型) 框中确定Character (字符)。
f、在Width (宽度) 框中输入15。
g、除了Sales_1990和刚才创建的新字段Name之外,删除其它所有字段。为此,选择每一个
要删除的字段并单击Remove Field (删除字段)。
h、使用 UP (上) 按钮将Name字段移到顶部。
i、单击OK。
j、在MapInfo提示confirm our changes (确认所做的修改) 时单击OK。
由于将在ZONES图层中编辑地图对象,我们要将它增加到当前地图上,并且使它可编辑。
a、选择Map (地图) >Layer Control (图层控制)。
b、单击Add (增加)。
c、从下拉列表中选择ZONES,并单击OK。
d、使ZONES图层可编辑。
e、单击OK。
现在准备创建第一个区域,首先,选择组成该区域的州。
a、按住Shift键的同时,在美国西部选择11个相邻的州。
b、选择Objects (对象) >Combine (合并)。
Data Aggregation (数据聚合) 对话框显示出来。用该对话框命名新区域,并且计算总的
销售额。
c、在 Destination (目标) 框中选择Name,并且在 Aggregation Method (聚合方法)下选
择Value,在文本区输入: Wostern。
d、在Destination框中选择Sales—1990,并在Aggrgation Method下选择Sum。
e、单击OK,新的对象被创建。
为了查看与新区域相关的新信息,使用 Info (信息) 按钮。
为了将其它相邻的州加到新区域中,在使用合并命令的同时,使用 Set Target (设置目标
)命令。
a、选择该区域。
b、选择Objects>Set Target,注意高亮改变了,我们告诉MapInfo将要改变该对象。
c、使用选择按钮选择用来追加到Western区域的州。
d、选择objects (对象) >Combine (合并)。
可以在Data Aggregation (数据聚合) 对话框中,预览新近调整的销售数额。
e、单击OK。
f、选择objects>Clear Target (清除目标)。
新的区域现在包括新的州。我们也许想从区域中删除一个州,在这种情况下,要使用擦除
命令。我们需要从原 STATES表选择一个州作为“剪切器”,但首先,要告诉 MapInfo将修
改哪个区域。
a、选择将修改的区域。
b、选择Objcets (对象) >Set Target (设置目标)。
c、在使用选择工具选择将要从区域中删除的州的同时,按住 Ctrl键,这样就从 STATES表
中选择了对象。
d、选择objects>Erase (擦除)。
在本课的后半部分,我们需要保证各州不被删除,所以必须恢复擦除操作。
e、选其Edit (编辑) >Undo (恢复)。
f、单击OK。
有的应用程序要求将一个区域分割成两个或更多的区域,为此使用SPLTT命令。
a、选择将分割的区域。
b、选择Objects (对象),Set Target (设置目标)。
c、从STATES表中选择州,可能需要按住Ctrl 键。
d、选择Objects (对象) >SPLIT (分割)。
e、从 Field Name (字段名) 框中选择Name,在Disaggregation Method (分解方法) 组框
中选择Value。
f、从 Field Name框中选择 Salcs—1990,并在Disaggregation Method (分解方法) 组框
中选择Area Proportion (面积比率)。
g、在Data Disaggregation (数据分解) 对话框中单击OK.
使用面积比率方法分解数据会导致与前述整个区域相关的数据成比例分配到每个新的 区
域中。
注意根据起始选择的洲的数目,该区域被分割成较小的区域。
创建另外三个区域将美国余下的部分覆盖,为了赋给区域不同的填充模式,选择Options
(选项) >Region Style (区域样式) 定义具体的线型和填充模式。
由于我们一直在合并ZONES表中的地图对象,现在将表压缩。
a、选择Table>Maintenance>Pack Table (紧缩表)。
b、单击OK。
c、单击Save。
由于紧缩表命令将从所有的窗口中删除ZONES表,为了再次显示它,选择Window (窗口) >
New Map并从对话框中选择ZONES。
使用更新列
Update Column (更新列) 命令允许你以很大的灵活性自动改变列。你可以从其它表或已有
表中的其它列转移数据,可以通过对一些数据聚合来改变列,还可以通过创建表达式或从
已有数据中获得附加信息,这些值都可以放到永久列中或者MapInfo创建的一个临时列中。
现在将使用包含每个消费者的销售区域的名字来更新US_CUST文件。我们将更新 TERR列,
销售区域的信息来自 ZONES表。在开始之前,通常做一些初始化,需要将 US_CUST 文件中
的TERR列扩展以使它能包含与ZONES表中的Name字段同样多的字符数。为此,我们要使用前
面第13课中提到的表结构 (Table Structure) 命令。
打开US_CUST 文件,对结构作修改:
a、选择Table> Ma, , intenance>Table Structurc。
b、从下拉列表中选择US_CUST ,并单击OK。
c、从Fields列表中选择TERR列。
d、在Field Information部分,将Width 改变为15。
e、单击OK。
下面,准备更新列:
a、选择Table>Update Column。
b、从Table to Update (要更新的表)下拉列表中选择US_CUST 。
c、从Get Value From Table (从中获得值的表)下拉列表中选择ZONES。
d、从Calculate (计算)下拉列表中选择Value。
e、从of (属于) 下拉列表中选择Name。
f、从Column To Update (要更新的列) 下拉列表中选择TERR。
注意,当你指定ZONES (从中获得值的表) 时,MapInfo自动将Add new Temporary Column
(增加新的临时列) 输入到Column to Update (要更新的列) 框中。我们要确保将该列确
定为TERR。
当将信息从一表传递到另一表时,Join (连接) 按钮被激活。需要确认MapInfo在两个文件
之间是否建立起了正确的联系。由于US_CUST 和 ZONES之间没有共同列,我们将依赖于地
理连接。换句话说,如果 ZONES (多边形) 对象包含了US_CUST (点)对象,那么这两个
表就被联系起来。
g、选择Join (连接)。
h、在Specify Join (确定连接) 对话框中选中Where Object From table ZONES (来自 Z
ONES表的对象)。在其下方的列表框中选中Contains (包含) 单击OK。
i、单击OK,退出Update Column (更新列) 对话框。
为US_CUST创建了一个新的浏览窗口。查看TERR列,浏览窗口中的每个消费者都包含了他所
位于的销售区域的名字。别忘了保存US_CUST 。
四、小结:
你学会了如何使用Objects (对象) 菜单下的合并、擦除和分割命令来创建区域。合并命令
允许你将选择的多个多边形合并成一个较大的多边形对象。擦除命令从区域中删除多边形
,而分割命令使用一个已知多边形作为剪切器。将一个区域分割成两个区域。为编辑一个
区域,该区域必须被选择,并且被设置为目标。当编辑结束时,目标必须被清除。使用 F
ile>Save Table (保存表) 命令保存区域。我们使用更新列命令能根据其它表中的信息更
新列。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|物探论坛 ( 鄂ICP备12002012号 微信号:iwutan )

GMT+8, 2024-5-13 11:15 , Processed in 0.231645 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表