Mapinfo叠置分析:LossEstimate

更新时间:2023-09-29 18:23:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

MapInfo叠置分析

本例为一个假设的估计洪水淹没损失的分析过程。

1. 分析的目标:估计住宅用地被洪水淹没而造成的损失;

2. 假设:洪水水位的绝对高程为500 米,低于500米的区域将被淹没; 损失的大小仅仅与居民的财产、地基的稳定性有关。 3. 数据集:地块地图(Parcel.tab)

等高线地形图(Contour.tab)

各类地基估计损失系数表(LossRate.tab)

实习步骤:

1. 生成工作表

用菜单命令File>Open...,打开Parcel表,

用菜单命令File>Save Copy As,将其另存为一张名为Split的表, 用菜单命令Close Table...,关闭Parcel表。

2. 观察数据集,观察各表的的各个字段名和数据

打开Split表, 并点击工具栏上New Browser按纽打开Split的属性表:

Parcel_ID:地块编号 Landuse:土地类型代码 E_Assets:估计的财产值 Foundation:地基类型

打开Contour表,并打开其属性表:

Contour:用多边形表达的两条等高线之间的区域,属性值500,为低于500米的区域,510为介于500到510米之间的区域,余类推。

打开LossRate表,此表仅为关系数据表,无相连的空间数据:

Foundation:地基类型

LossRate:损失率,即在受水灾时可能的财产损失比率,它是地基类型制约。

3. 增加一个字段到Split表

用菜单命令 Table>Maintenance>Table structure…,打开View/Modify Table Structure对

话窗,选择Split表,并点击OK按纽返回,弹出Modify Table Structure对话窗; 点击Add Field按纽,

在Name文本框内输入字段名,Area; 在Type复合框中选择decimal数据类型; 在Width框内输入: 10;(注:字符数10,包括小数点;字符数最多19位) 在Decimals框内输入:3;(注:3位小数)

点击Up按纽3次,置Area字段为第二行,即置Area字段为Split表的第二列。 点击OK按纽;

点击工具栏上New Browser按纽打开Split的属性表,观察变化。 4. 更新Split表的Area字段

用菜单命令Table>Update Column…,打开Update Column对话窗 在Table to Update框中选定Split表;

在Column to Update框中选择Area字段; 在Get Value From Table框中选定Split表; 点击Assist...按纽打开Expression对话窗;

点击Functions框的下拉按钮,选择Area函数,(注:该函数有两个参数,第一个

obj为Table的隐含字段,储存空间目标数据;第二个为空间数据的单位,这里为平方英里);

将光标置入Type an expression框,修改mi 为 km,即单位改为平方千米; 点击OK按纽返回 在Value框中可见:Area(obj, \;(至此,完成了SQL语言更新语句Update的填写);

点击OK按纽;注意观察Browse窗口内Area字段的变化。 点击工具栏上Save Table按纽,保存更新操作的结果。

5. 叠置操作

关闭所有窗口;

点击工具栏上New Mapper按纽,当内存中已经打开一个以上有图形目标的表的情况下,

会弹出New Map Window对话窗,上有四个复合框,表示能依次选择四个表,同时显示四个层在Mapper窗口; 这里仅在第一个框内选择Split表, 点击OK按纽返回;

点击工具栏上Layer Control按纽,打开层控制器,将鼠标移到小图像铅笔上暂停,提

示信息为Editable;

在Split行上,点击Editable复选框,置Split表可编辑;(注:对图形目标编辑,

首先应执行此操作); 点击OK按纽返回;

用菜单命令Query>Select All From Split,选择Split的全部多边形; 用菜单命令Objects>Set Target,将该图置为图形切割的靶子; 打开Layer Control,点击Add按纽,

在AddLayer对话窗,选择Contour表, 点击Add按纽返回

点击OK按纽返回,Contour表增加到了Mapper窗口;

点击工具栏上New Browser按纽,选择Contour表显示,然后选择Contour值为500米的记录;

重新激活Mapper窗口,执行Objects>Split... 命令,弹出Data Disaggregation数据分解对话窗;

(注:Blank方法:属性数据不转移

Value方法:属性数据以原值转移

Area Propotion方法:数值型属性数据,可按面积比分割后转移 可通过点击单选扭,设置蓝色高亮条所在的字段的分解方法 ) Area:为Area Proportion

E_Assets:为Area Proportion 其余字段:为 Value

点击OK按纽,完成操作。 用Browser窗口,观察Split表:

7条灰化记录表示原来记录被删除了;后面新增了12条记录; 可以打开Parcel表,比较两张表的数据变化。

6. 整理Split 的属性表

执行 Table>Maintenance>Pack Table...命令,弹出Pack Table对话窗:

在复合框内选定Split表; 点击OK按纽,执行操作;

若弹出信息窗,则点击Save按纽。

7. 从Split表中选择出选择会被淹没的住宅用地

关闭所有窗口;

用Query>SQL Select...命令,打开SQL Select对话窗,依次选择或输入下列内容:

SelectColumns框:* FromTables框:Split WhereCondition框:(obj Within (select Contour.obj from Contour where contour = 500))

And (Landuse = \

Order by Columns框: Parcel_ID into Table Named框: Temp_1 点击Verify,检查是否符合语法 若不合法,检查输入内容是否有误 若合法,点击OK按纽返回;

在Mapper窗口,仅显示Temp_1表,观察结果:应由5个多边形;

从Temp_1 Browser窗口,观察结果:应有5条记录,Parcel_ID分别为2,3,4,5,7; 执行菜单命令File>Save Copy As,弹出Save Copy As对话窗

选择Temp_1表,点击Save As按纽, 点击保存按纽,保存Temp_1表到工作文件夹

执行菜单命令File>Close Table...,弹出Close Table对话窗;

选择Temp_1(这是内存中的临时表), 点击Close按纽,关闭临时表。

8. 实施连接操作,将LossRate表上的损失率数据增加到Temp_1表上

执行File>Open...,打开已经存盘的永久性Temp_1表;

用Query>SQL Select...命令,打开SQL Select对话窗,依次选择或输入下列内容:

SelectColumns框:列出除Temp_1.obj,LossRate.Foundation,之外的所有字段 FromTables框:Temp_1,LossRate

WhereCondition框:Temp_1.Foundation = LossRate.Foundation into Table Named框: Temp_2 点击Verify,检查是否符合语法 若不合法,检查输入内容是否有误 若合法,点击OK按纽返回;

从Temp_2 Browser窗口,观察结果:比较Temp_1,多了一个LossRate字段; 执行菜单命令File>Save Copy As,保存 Temp_2为永久性表; 执行菜单命令File>Close Table...,关闭临时表Temp_2。

9. 计算估计损失

打开Temp_2表;

增加一个字段到Temp_2表,

字段名为E_Loss, Type:decimal,Width:19, Decimals:2 用Browser窗,观察结果;

用菜单命令Table>Update Column,打开Update Column对话窗,计算并更新 E_Loss

字段

在Table to Update框中选定Temp_2表; 在Column to Update框中选择E_Loss字段; 在Get Value From Table框中选定Temp_2表; 点击Assist...按纽打开Expression对话窗;

点击Columns框的下拉按钮,选择E_Assets字段, 点击Operators框的下拉按钮,选择乘号*,

点击Columns框的下拉按钮,选择LossRate字段, 点击OK按纽返回

在Value框中可见:E_Assets * LossRate;

点击OK按纽;注意观察Browse窗口内E_Loss字段的变化。 点击工具栏上Save Table,选择Temp_2,保存更新操作的结果。

10.编制分析表

用菜单命令Query>SQL Select...,编制一分析表:

Select Columns框:Temp_2.Parcel_ID, Temp_2.Area, Area(Parcel.obj,\

\

From Tables框: Temp_2, Parcel

Where Condition框:Temp_2.Obj Within Parcel.Obj into Table Named框: Temp_3;

执行菜单命令File>Save Copy As,保存 Temp_3为永久性表; 执行菜单命令File>Close Table...,关闭临时表Temp_3;

11.计算受淹率、相对损失率

打开Temp_3;

增加两个字段 Flooded_pct与Loss_pct 到Temp_3表,

Type:decimal,Width:5, Decimals:1 用Browser窗,观察结果;

用菜单命令Table > Update Column,分别计算Flooded_pct与Loss_pct字段的值:

在Value框中分别可见:

Flooded_pct字段: Area / Parcel_Area * 100 Loss_pct字段: E_Loss / E_Assets * 100

注意观察Browse窗口内这两个字段的更新结果。

点击工具栏上Save Table,选择Temp_3,保存更新操作的结果。

12.编制分析结果表

用菜单命令Query > SQL Select…,对Temp_3表,作投影操作 SelectColumns框:Parcel_ID,Flooded_pct,E_Loss,Loss_pct

FromTables框:Temp_3

into Table Named框: Result;

执行菜单命令File>Save Copy As,保存Result为永久性表; 执行菜单命令File>Close Table...,关闭临时表Result。

13. 结果显示与Workspace存盘

关闭所有窗口;

打开Result、Parcel表,显示在Mapper窗口,Result层在上; 可用层控制器,设置Result层为可编辑; 全部选择Result层的目标;

点击工具栏上Region Style按纽,弹出Region Style对话窗

在Pattern框,设置为实心模式,即选黑色 在Foreground框,选一种颜色,如绿色 点击OK按纽返回;

观察Mapper窗口的效果,不满意可重新设置;

点击工具栏上Save Table,保存Result修改的结果。 用Browser窗口,显示Result的属性表;

用菜单命令File>Save Workspace…,将当前MapInfo窗口的内容存盘Workspce文件,

文件名为:OverlayResult。

执行菜单命令File>Exit, 退出MapInfo系统。

14. 重新打开Workspace文件

在资源管理器窗口,找到OverlayResult文件的文件夹; 双击OverlayResult文件。

思考题:

1. 什么步骤实施了图形操作? 2. 什么步骤实施了属性数据操作? 3. 什么步骤实施了数据管理操作? 4. 什么步骤实施了显示设置?

5. 存盘为Workspace文件,有何意义?

本文来源:https://www.bwwdw.com/article/mbhd.html

Top