二、重分区
1.什么是重分区(Redistricting)?
重分区是一些Map对象指派到某些组时,MapInfo自动计算各组对象的总数,并把这个总和显示在一个特殊的Browser窗口中。这个过程有的被称为Load-balance(平衡装载)。
当你进行重分区时,你要创建许多个分区。需要的准确分区数据取决于你的工作性质。对每一个区你可以指定一个独特的名字;例如,如果你要用四个分区来工作,你可以叫这些区为东北、西北和西南区。每一个区以一行出现在Direstricts Browser中。分区浏览器与其它浏览窗有几点不同:
你一次只能从分区浏览器中选择一个行,不能用Shift-Click来选择多行。
区浏览器中总有一个行是被选择的,你不能用Unselect All来取消一个行,那个行就成为了目标区(Target district)。这个目标区将会受到随后的重分区操作的影响。
只要你选择了一个目标区,你就可以通过选择Map对象的方法把这些Map对象指派到那个区。你可以用鼠标指定并按击的操作来选择对象,或者通过SQL Select之类的查询来选择。
当你选择Map对象时,MapInfo试探性地指派新选择的对象到目标区。然后MapInfo重新计算各区的总和,并把新的总和显示于区浏览器中。这时,你可以检查区浏览器中的内容以决定是否要把这些区指派作为永久性的。
为了取消试探性的区指派。取消Map对象即可。
为使试探性的分区指派成为永久的,应选择Redistrict > Assign Select Object。当你选择了Assign Select Object后,MapInfo就把这个目标区的名字存放到新选对象的各行中。例如,如果你指派了若干Map对象到西北区,那么MapInfo就把撐鞅睌放到各个对象行中。
各个分区有自已的充填线型和符号式样设置。当你指派一个Map对象到一个分区时,这个对象随后就以该区设置类型出现。所以,如果你选择实心兰色充填东北区,那么,你指派到这个东北区的对象也以实心兰出现。
重分区窗口命令
这个命令的目的是开始一个重分区操作,它建立一个你为分区的特殊表,然后把此表显示于一Browser窗口中。这个分区Browser,用于联系一个Map窗口,允许你进行重分区。你可以指派图对象到一个分区。
这个命令何时活化?
1一个Map窗口活化
2你尚未处在一个重分区操作中,3 否则要关掉分区Browser。
重新分区窗口对话框
源表:其下拉列表含有一系列表名。选择含有你愿意将其重分区的对象的表。例如,如果你的一个表含有顾客信息,你要把顾客指派到若干销售分区,那就从源表下拉列表中选择这个顾客表。
分区字段:分区字段下拉列表含有新选源表中的全部的表列。要从中选择出一个列来让MapInfo用以存放分区名。
特别注意,在重分区期间,MapInfo要自动重写该分区字段的内容,因此,你必须小心地选择一个分区字段。
要知道MapInfo会重写你选择的列的内容。如果你第一次进行重分区,你可能要加一个新列到你的表上,然后用这个新列作为分区列(字段)。为加一个新列到你的表上,选择Table > Maintenance > Table Structure。
MapInfo自动为分区列(字段)中新含的每一个值建立一个分区。例如,如果你选择含有电话(分)区(代)号(3位数)的分区列,MapInfo就对各个区号建立一个分区。如果你选择的分区列是一个空列,MapInfo就不自动建立任何分区,你必须人工建立分区。
一般来说,你不应该选择一个含有独特的值的列,如顾客名或序列号之类。你应该选择一个完全空的列,或者含有多行相同值的一个列。例如,你可以选择含有州名、县、邮政编码或电话区号的一个列。
可用字段,浏览字段
这两个字段列表是在一起工作的。前者含有一个列表达式列表。你可以移动这些列表达式的一部分或全部到后的列表中(注意:这里不是列名,是带Sum()、Pct()的集合表达式,另外还有Line、Fill等)。你移到浏览字段列表的各个列将出现在分区Browser中。
表达式可在两个字段表中移来移去,但浏览字段表中总有一个列移不掉,要剩下。
如果浏览字段表中含有表达式Count,分区Browser中就要显示出被指派到各个分区的Map对象的个数。
如果浏览字段表中含有表达式Fill,分区Browser就要显示出各个分区的充填图案样例。同样,Line和Symbol表达式允许你把线型和符号式样包括在分区Browser中。
集合表达式
可用字段表含有集合的列表达式。例如,如果你的源表中有一个称为撊丝跀的数字型列,其可用字段表中就会有Sum(Population)和Pct(Popilation)这两个项目。(Pct是Percent)。
如果你把Sum(Population)表达式移到了浏览字段表中,MapInfo就要计算属于一个分区的所有对象的列值总和。
如果你把Percent(列)表达式移入行浏览字段表中,MapInfo就要计算整个表这个列的列总和,然后计算出和个分区占总和的百分比。
Up and Down
这两个按钮允许你安排项目浏览字段一月中的上下顺序。这两个按钮只有在你从浏览字段表中选定了一个列之后才可用。
OK
当你选OK时,MapInfo构成一个叫做Districts的特殊表,并把这个表显示于一个Districts Browser中。只要这个分区Browser在屏幕上,你每次选择或者取消选择Map对象时MapInfo都要执行分区计算。
Redistrict menu(重分区菜单)
这个菜单要在重分区操作有郊时才出现,它包括如下命令(菜单项):
Add Dristrict
Options(引出一个Redistricter Options对话框)
Assign Selected Objects
Set Targer District From Map
Delete Target District
下面先讨论菜单命令,顺带说明对话框,最后总结为若干任务。
Add district
加一个新的分区到已有分区存在的Browser窗中。
该命令在重分区操作有效时活化。
选择Redistrict > Add District。
MapInfo创建一个新的分区并把它加到分区Browser的底部。MapInfo指定一个默认的名字如?FONT FACE="Times New Roman">District 7
要改变这个新分区的名字,只要用鼠标点出现在分区Browser中的名字,输入新的名字即可。
Assign Select Object
这个命令是用来永久性地把所有选择的Map对象指派给目标分区。
该分区只有当重分区操作有效并且有一个或多个Map对象被选择时才可用。
实际上为了使指派保存下去,有两个方法:
1 选Redistricting > Assign Selected Object或者
2 点击Main工具条上的Assign Selected Object按钮
当你选择了Assign Selected Object时MapInfo就把目标分区名放到每一个所选对象的行中。例如,假如你把若干对象指派给名为Northeast的一个分区,MapInfo就把Northeast放到每一个新选对象的行中。
注意:MapInfo开始有一个试探性地把所选对象指派给当前目标分区的过程,这种指派并不是永久的。
Set Target District From Map
这个命令的目的是使选择对象的区成为一个新的目标分区。该命令只是在重分区操作有效并且有一个Map对象被选择时活化。访问方法是:
选择Redistricting > Set Target District From Map
Delete Target District
这个命令的目的是删除当前指定的目标区的分区。该命令在重分区操作有效期活化。使用方法是:
选择Redistrict > Delete Target District属于这个目标区的所有对象都被重新指派给?FONT FACE="Times New Roman">Unassigned”分区(未指派的分区)。删除这个未每指派分区是不可能的。
Options
该命令用于进入Redistricter Options对话框。这个对话框允许你指定各分区的分类排序以用格线显示。
只要重分区操作有效,该命令就是活化的。
对话框说明如下:
Most Recently Used:允许你按最后用过的顺序显示各个分区
Alphaletical:允许你按字母顺序显示各个分区。当点击OK时分区Browser被排序并重新显示。
Unordered:允许你随机地显示各分区
Show Grid Lines:允许你开/关格线
Save as Default:允许你把这个显示顺序作为默认的顺序保存(存盘)
以下是文件另显的操作:
1 改变一个分区的充填色,2 方法是点击出现在分区Browse表窗口中的Brush样例。
3 改变一个分区的名4 字,5 方法是点击出现在Browse表窗中的分区名6 。
7 选择目标8 区
标证分区Browser窗中相应行的检查盒。或者,你可以用选择一个Map对象使分区Browser窗口活化,然后再选择Redistrict > Set Target District的方法来设置目标区。
9 组合一个分区的对象
一旦你完成你的分区,你就可以把和个分区的对象群组合成为一个对象。
为了组合一个分区的对象:
a. 选择Table > Combine Object Using Column,b. 这时显示一个对话框。
c. 从其Group Object By Column下拉表中选择你的分区列。
Combine Object Using Column能够组合的对象类型有一些限制。如果你的分区只含有区域那样的封闭对象,你可以组那些对象。
10 排序分区及格线显示,11 见Options对话框说明。
12 结束重分区操作,13 方法是关闭Browser窗口。
14 开始重分区操作,15 按以下步骤:
选择Windows > New Redistrict Window,出现New Redistrict Window对话框。
从源表(Sourse Table)下拉列表中选择含有你希望重分区的Map对象的表。
从分区字段(District Field)下拉列表中选择将用来存放分区名的列。
这里要注意列被重写的问题,第一次按重分区最好先给这个表加一空列。可用字段与浏览字段表是相同工作的。其中的列表达式不等于列名或字段名。
移动表达式到浏览字段表,或相反,方法是用》或《按钮。
注意:浏览字段表中的列是要出现在分区Browser中的。
Click Ok。
当你选择OK时,MapInfo构成一个叫做Districts的特殊表,并把这个表显示为Districts Browser。只要这个Districts Browser在屏上,每当你选择或取消选择Map对象时,MapInfo都要执行各种分区计算。


当前位置: