GIS实习教程第10章
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第十章邻近区
1 产生多边形要素的邻近区
启动地图文档\gis_ex09\ex10\ex10.mxd,该文档有四个数据框架。激活data frame1,该数据
框架有二个图层(见图10-1):“道路”仅用于地图显示,不参加分析,“仓库”表示某城市
中危险品的存储基地。假设,存储基地周围100 米范围内不准有建筑物,也不准堆放易燃易爆物
品,周围200 米范围内可以有一般建筑物,但是仍不能有易燃易爆物品,周围300 米范围内不
准建设住宅,以及商业、学校、办公等设施。为此需要在地图上产生100、200、300 米的邻近
区,并计算邻近区的面积。
图10-1 data frame1 的显示
鼠标双击data frame1,出现Data Frame 属性定义对话框,在General 标签中将Map Unites(地图单位)和Display Units(显示单位)都从Unknown Units(未定义)改为Meters(米),按“确定”键返回。在地图窗口按钮条上点击ArcToolbox图标,展开ArcToolbox/Analysis Tools/Proximity,选用菜单Multiple Ring Buffer(多个环状邻近区),在提示下完成操作:
Input Features:仓库下拉选择图层名
Output Feature Class:d:\gis_ex10\ex10\temp\buffer1.shp 鼠标选择路径,键盘输入文件名,按Save 键保存
Distances 分3 次键盘输入邻近距离值,每次输完后按“+”号添加
100
200
300
Buffer Unit (optional):Default 默认
Field Name (optional):保持空白
Dissolve Option (optional):ALL 下拉选择,重叠的多边形相互合并
按OK 键继续,软件出现处理过程提示窗,左上角出现Completed 提示,表示处理完毕,按Close 键关闭。ArcMap 按上述要求产生离开仓库多边形100、200、300 米3 圈边界组成的3 个邻近区多边形,图层名称默认为buffer1,数据存放在d:\gis_ex09\ex10\temp\buffer1.shp 。可打开图层buffer1 的特征对话框(Properties…),选用Symbology 标签,为邻近区设置合适的显示符号,还可以打开、关闭图层“仓库”,观察显示效果(参见图10-2),可以看出,100 米邻近区没有扣除仓库多边形自身。
图10-2 关闭图层“仓库”后显示邻近区
下一步为计算每个邻近区的面积,打开邻近区图层属性表“Attribute of buffer1”,选用属性表窗口右下侧按钮Options / Add Field…,在随后的Field definition 对话框中定义所增加的字段:Name:Area(字段名)
Type:Double(双精度浮点类型)
Precision:10(字段宽度)
Scale:1(保留小数点位数)
按OK 键返回。属性表增加了字段Area,鼠标右键点击属性表的字段名Area,在快捷菜单中
选择Field Calculator…(Calculate Geometry…),系统提示:
You are about to do a calculate outside of an edit session. This method is faster than calculating in an edit session, but there is no way to undo your results once the calculation begins. Do you wish to continue?
(由于属性表处于非编辑状态,对字段进行计算的结果不能用undo 方式还原,所以软件提出
警告。如果选用菜单Editor / Start Edit ing…,使属性表处于编辑状态,再进行字段计算,就不会出现
该提示,因为对计算结果不满意的话,可用菜单Edit / Undo 还原初始值。)对提示回答“是(Y)”,出现字段计算对话框,勾选Advanced,在文本框内输入以下VBA代码:(“//”右边
的文字为代码说明,不必输入,只输入英语代码即可)
dim newArea as double//声明double 类变量newArea 用于保存面积值,该名字可
以自行取名,但要与下面的文本框输入的名字保持一致dim pArea as IArea//声明IArea 类变量pArea 用于保存参与计算的字段
set pArea=[shape]//为变量pArea 赋值
newArea=pArea.area //求解多边形面积并赋给用户定义的变量newArea
在下面Area = 提示下的文本框内输入刚建立的面积计算变量名newArea,按OK 键结束,
可以观察到buffer1.shp 表内容,字段Area 为多边形的面积:
Shape* distance Area
(要素形状)(邻近距离)(面积)
Polygon 100 230205
Polygon 200 214298.7
Polygon 300 277071.6
关闭属性表,返回主窗口,可进一步用属性、要素相互查询的功能,查询要素的位置及其属
性,体会邻近区的形状、面积。
2 关于产生多边形邻近区的小结
在产生邻近区之前应设置地图单位、显示单位。
可以针对Data Frame 中的图形(Graphic)也可以针对图层中的要素(Feature)产生邻近区,本练习是针对要素产生邻近区。
如果是针对多边形产生邻近区,可以产生在内侧、外侧、同时产生在两侧、产生在外侧并且包含原多边形本身,本练习是产生在外侧。
产生的结果有:(1)Data Frame 中的图形(Graphic),(2)作为多边形要素(Feature)添加到允许编辑的图层中,(3)独立的多边形图层(Feature)。本练习产生的结果是独立图层。
控制邻近区的形状有三种途径:(1)简单输入一个距离值,(2)按要素属性表中某字段的属性值,(3)离开要素的多重等值距离。本练习是离开要素边界的多重等值距离(离开仓库100、200、300 米,共3 重,间距为100 米)。产生的邻近区往往是多个多边形,有可能相互重合,本练习要求消除重合。
邻近区是多边形,如果需要计算面积,可以将面积字段添加到图层属性表,再计算、赋值。
邻近区是常用的GIS 分析方法,除了在面状要素内、外二侧按给定距离产生邻近区外,还可以在点状、线状要素周围产生。
邻近区的英语专业名词常称Buffer Zone,可直译成“缓冲区”。
3 线状要素的邻近区
激活data frame2,该数据框架有二个图层(见图10-3):线状图层“道路”,仅用于地图显示,不参加分析;线状图层“铁路”为邻近区的分析对象。假设根据当地的情况,沿铁路两侧20、40 米范围内,进行环境整治、植树,要求提供专题地图。
图10-3 data frame2 的显示
鼠标双击data frame2,出现data frame 属性定义对话框,在General 标签中将Map Unites (地图单位)和Display Units(显示单位)都从Unknown Units(未定义)改为meters(米),完成后按OK 键返回主窗口。展开ArcToolbox / Analysis Tools/ Proximity,鼠标双击Multiple Ring Buffer,产生多个环状邻近区,出现对话框:
Input Features:铁路下拉选择图层
Output Feature Class:d:\gis_ex10\ex10\temp\buffer2.shp 鼠标选择路径,键盘输入文件名,按Save 键保存
Distances 分2 次键盘输入邻近距离值,输完后按“+”号添加
20
40
Buffer Unit (optional):Default 默认