mapinfo 如何把区域的一部分分割出来合并到另一个区域 ? 这两个区域相邻,在线等。。求大神
一、概述:本课,将使用合并、设置目标和清除目标等命令将许多区域合并成一个大区域。在合并对象时,还要实践如何聚合数据。当使用擦除命令从大区域中删除一个区域时,要从大区域中分解数据。最后,使用更新列命令来更新一列。二、涉及的特性和概念:数据聚合:把若干分离的地图对象合并成单一对象的过程。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> Maintenance>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 (来自 ZONES表的对象)。在其下方的列表框中选中Contains (包含) 单击OK。i、单击OK,退出Update Column (更新列) 对话框。为US_CUST创建了一个新的浏览窗口。查看TERR列,浏览窗口中的每个消费者都包含了他所位于的销售区域的名字。别忘了保存US_CUST 。
本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.