ArcView实习指导3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第9章数据探查
习作1 ArcView中的数据探查综览
所需数据:idcities.shp,含有爱达荷州的654个地点。
idcounty.shp,表示爱达荷州的县界;snowsite.shp,含有爱达荷州及其周边各州的206个滑雪站。
习作1围绕在爱达荷州森瓦利(Sun Valley)40mi范围内查找好的滑雪场问题。
本习作旨在使你熟悉使用ArcView作数据探查的几个方面:导出概要统计、由图形选择要素、生成统计图。
以下包含了数据探查的每个方面。
导出概要统计
1.启动ArcView,打开一个新视图,加载idcities.shp,idcounty.shp和snowsite.shp。
这三个专题图层都是基于爱达荷全州范围坐标系统,并以米为单位。
从View 下拉菜单选择Properties。
在View Properties对话框中,把地图单位设为米,把距离单位设为英里。
2.激活snowsite.shp,从Theme下拉菜单选Table打开snowsite.shp的属性表。
在snowsite.shp专题属性表中,点击Swe-max字段(Swe-max代表最大雪水量)使之激活。
然后从Field菜单中选择Statistics(统计)。
用图形选择地图特征
1.激活idcities.shp专题图层。
点击Query Builder按钮。
建立查询表达式为
[Cityname]=“Sun Valley”并点击New Set。
按Zoom To Selectsd按钮,再按Zoom In按钮缩放环绕森瓦利(Sun Valley)的区域。
2.按住Draw Point工具,从下拉菜单中选Draw Circle。
3.围绕森瓦利(Sun Valley)画一个圆,并用这个圆作为图形来选择圆圈内的滑
雪站。
尽量靠近森瓦利位置点击,并将指针拖至形成一个半径为40mi的圆。
如果一直不能得到准确的40mi,也可从Graphics菜单中选择Size/Position并键入40mi为半径值。
4.现在选择落在圆圈内的滑雪站。
确认snowsite.shp为激活状态,点击Select
Features Using Graphics按钮。
选中的滑雪站将被加亮。
5.从Theme下拉菜单中选择Table。
点击Promote把加亮的记录(即被选中的
滑雪站)移至表格上部。
制作统计图
1.当snowsite.shp表格和选中的记录仍处于激活状态时,点击Create Chart按钮。
习作1的这部分引导你如何利用上一步选中的滑雪站数据制作统计图。
2.在Chart Properties对话框中。
作下列操作:把统计图重命名为Swe-max, 点
击Swe-max作为Field,点击Add把Swe-max移至Group,把Lable Series改设为Swe-max,点击OK。
该统计图基本是一个柱状图,表示选中每个滑雪站的最大雪水量。
用Elev字段作另一幅统计图(Elev以英尺为单位列出这些滑雪站的高度)。
3.你可制作一幅散点图来看Swe-max和Elev之间的关系。
点击Create Chart按
钮打开一个新统计表。
把Swe-max和Elev添加到组内。
4.点击xy Scatter Chart Gallery按钮打开散点图选项。
选中左上带有x和y线性
比例变换的选项并点击OK。
其他的选项是基于x或y,或x和y的对数比例变换。
散点图表示Swe-max和Elev之间存在正相关关系:滑雪站越高,最大雪水量可望越大。
习题2 属性数据查询
所需数据:wp.shp,植被群丛图层文件;wpdata.dbf,含有wp.shp的林分数据的dBASE文件。
查询或数据选择是数据探查最重要的因素。
无论是从属性数据或空间数据途径,查询结果被显示于视图、表格和统计图的链接视窗中。
习题2关注于属性数据查询。
1.启动ArcView,打开一个新视图,添加wp.shp于视图中。
打开wp.shp专题属
性表。
2.激活Project视窗。
点击Tables和Add,弹出Add Table对话框。
确认文件类
型为dBASE,双击选择wpdata.dbf。
3.至此,你已打开两个表格:专题属性表(wp.shp的属性)和wpdata.dbf。
把
wpdata.dbf的数据加到专题的步骤如下:点击wpdata.dbf中的Id,点击wp.shp 专题属性表中的Id,然后点击Join按钮合并两个表格。
Id是关联两个表格的关键字。
4.确认wp.shp专题属性表包含了来自wpdata.dbf的属性数据并处于激活状态。
点击Query Builder按钮打开Query Builder对话框。
对话框上部从左到右表示wp.shp属性表中的字段、逻辑运算符、布尔连接符和所选字段的值。
注意每个字段名都有方括号。
对话框下部左侧有逻辑表达式的显示区,右侧有不同查询方法的三个按钮,分别是New Set、Add To Set和Select From Set。
New Set 从专题属性表中选择一个新的数据子集。
Add To Set添加一个新的数据子集到先前选中的记录。
Select From Set从先前选中记录中选择一个新的数据子集。
5.在Query Builder对话框中双击Origin字段,点击“>”运算符,并双击0值,
逻辑表达式([Origin]>0)出现在显示区。
这是第一个逻辑表达式。
点击连接符AND,双击Origin字段,点击“<=”运算符,并键入1900完成第二个逻辑表达式。
完整的逻辑表达式应该是:([Origin]>0) AND ([Origin]<=1900)。
现在点击New Set。
专题属性表中满足逻辑表达式的记录被加亮。
ArcView视窗的左上角显示“175 of 856 selected”(从856个中选中175个)。
不要离开
Query Builder对话框,因为你将进一步用它作查询运算。
6.字段Origin表示在一个群丛中树木的由来,以树木种植的年份表示。
数值为
0意指由来未知。
因此,在第五步骤中的逻辑表达式选择树龄至少100年的群丛。
点击Promote按钮,把选中的记录移到专题属性表上部。
检查所选中记录的值,看是否有1900年以后种植的。
现在查看地图,加亮的多边形对应于所选中的记录。
7.最后,通过把坡向包含进来作为附加指标,缩小所选记录的范围。
回到Query
Builder对话框,拖拽并加亮外括号之间的逻辑表达式,将其删除。
构建以下逻辑表达式:([As]=”N”) OR ([As]=”NE”) OR ([As]=”NW”)。
接着点击Select From Set。
选中记录的数目显示在ArcView视窗的左上角,数目已由175减降至44,减少的数据子集表明其仅仅是种植悠久的群丛但不在北、北东和北西坡向。
你还可核实所选中记录确实均满足由来和坡向两个指标。
在地图上查看这些群丛的位置。
习作3 关系数据查询
所需数据:mosoils.shp,一个土壤图层文件;comp.dbf、forest. dbf和plantnm. Dbf,三个引自国家地图单元解译记录(MUIR)的dBASE文件。
习作3让你用MUIR数据库进行操作。
通过数据库中表格的适当链接,你可从任何表格探查数据库中的许多土壤属性。
而且,由于表格与土壤图是链接的,你也能看见所选中记录的位置。
1.启动ArcView,打开一个新视图,把mosoils.shp添加到视图,打开mosoils.shp
的专题属性表。
2.接着,把dBASE文件加到计算机屏幕。
激活Project视窗,点击Tables和Add。
浏览找到这三个dBASE文件并把它们加到表格中。
至此屏幕上应有四个表格和土壤图。
将其排列好,以便于对其进行操作。
3.下一步是链接这些表格。
思路是将这四个表格动态链接而不是合并。
将两个
表格链接时,需要知道那个字段作为关键字。
如本章所述及,musym可链接专题属性表和comp.dbf,muid可链接comp.dbf和forest.bdf,plantsym可链接forest.bdf和plantnm.bdf。
表格链接是有方向性的,从源表到目标表。
在数据探查中,你想要从任一表格搜寻土壤属性,因此,在每两个表格之间需要完成两次链接。
分别点击专题属性表和comp.dbf中的musym,并从Table菜单选择Link。
然后以相反方向重复同样过程;分别点击comp.dbf和专题属性表中的musym,并从Table菜单中选择Link。
至此,你已经完成专题属性表和comp.dbf之间的双向链接。
在comp.dbf和forest.dbf之间,以及forest.dbf 和plantnm.dbf之间以同样的方法操作。
4.在这里,四个表格均是以双向链接的。
本章里提到的一个问题:在每年洪涝
频率为频繁和偶发的地方可发现何种类型植物。
现在可按以下操作来回答这个问题。
激活comp.dbf。
点击Query Builder按钮。
在Query Builder对话框,准备好查询表达式为([Anflood]=”FREQ”) OR ([Anflood]=”OCCAS”),并点击New Set。
在comp.dbf中满足以上指标的记录被加亮,在其他三个表格中相
应的记录和土壤图中相应的多边形也同时被加亮。
你可以看到频繁和偶发洪涝的位置和共同的植物种名。
5.用这些表格可尝试作其他查询。
点击Select None按钮以清除已选中记录。
现
在,激活plantnm.dbf并点击Query Builder按钮。
准备查询表达式为([Comname]=”lupine”)。
点击New Set。
Plantnm.dbf中选中的记录与其他表格中相应的记录被加亮。
你也能在地图中看见羽扇豆(lupine)分布的地方。
习作4 空间数据与属性数据的组合查询
所需数据:thermal.shp,具有899个热井和泉眼的图层文件;idrosds.shp,表示爱达荷州的主要道路。
习作4假设:某公司要求你为爱达荷州确定温泉圣地的可能地点。
温泉必须位于主要道路2m范围内。
温泉的温度必须高于60摄氏度。
Thermal.shp中的字段类型用s表示泉眼,用w表示热井。
字段temp表示水温(℃)
1.启动ArcView,打开新视图,添加thermal.shp和idroads.shp到视图中。
从View
下拉菜单中选择Properties,在View Properties对话框中,设地图单位为m,距离单位为miles。
Thermal.shp和idroads.shp都以m作为地图单位。
2.激活Thermal.shp专题图层。
从Theme下拉菜单点击Select By Theme,在该
对话框中,将查询语句设定为:“Slect features of active themes that Are Within Distance Of the selected features of idroads.shp,”(选择激活专题的要素,这些要素位于idroads.shp所选要素的距离范围之内),并将Selection Distance定为2mi。
点击New Set。
这些加亮的温泉和热井即是位于爱达荷州主要公路2mi 范围之内的。
3.下一步,用第二个指标缩小地图要素的选择范围。
从Theme 下拉菜单选择
Tables。
用Promote 把已选中记录移到表格上部。
点击Query Builder 按钮。
准备好查询表达式:([Type]=”s”) AND ([Temp]>60)。
由于想从先前选中的记录中再做选择,因此点击Select From Set。
离开Query Builder对话框。
4.再用Promote把选中的记录移到表格上部。
所选中的15个记录的Type值应
都是表示温泉的s,且Temp值都应大于60。
实际上,所选记录之一的名称为“Zim's Resort,”是一个已经开发成旅游度假胜地的温泉。
地图显示这15个温泉所在的位置。
5.如本章所述,本习作也可以这样来完成;先通过属性数据查询选择水温高于
60℃的温泉,再通过空间数据查询选择距主要公路2mi之内的温泉。
最终答案应是一致的。
习作5 栅格数据查询
所需数据:坡度格网文件slope_gd;坡向格网文件aspect_gd。
习作5要说明查询单一格网与多个格网的不同方法。
1.启动ArcView,加载Spatial Analyst 扩展模块。
打开一个新视图,把slope_gd
和aspect_gd 加入视图。
Slope_gd具有如下以度表示的坡度类型:1(0~10)、2(10~20)、3(20~30)和4(30~40)。
Aspect_gd具有如下坡向类型:1(平地)、2(北)、3(东)、4(南)和5(西)。
2.从View下拉菜单选择Properties,并把地图单位设为米,距离单位设为公里。
先用图形法查询slope_gd。
点击Draw Circle工具,然后在slope_gd中点击一个点,拖动光标而成半径为1.5km的圆。
如果反复多次未能得到准确的1.5km,也可以从Graphics菜单中选择Size/Position并输入半径值为1.5km。
3.点击Histogram按钮。
柱状图表明单元值及其在该圆圈范围内的频率。
你也
可以点击Identify工具,然后点击单元值的柱形图来查找其准确的频率(计数)。
激活圆圈并在Edit菜单中选择Delete Graphics以去除圆圈。
4.Map Query 是由单元值查询格网的工具。
从Analysis 下拉菜单选择Map
Query。
在Map Query 1对话框中,设定查询表达式为:([slope_gd]=2.AsGrid)。
AsGrid之请求时自动添加到表达式的。
点击Evaluate。
目录表中的Map Query 1显示坡度为10℃~20℃之间的地区为真。
5.Map Query也可查询slope_gd和aspect_gd以寻找坡度处于10℃~20℃之间
且为南坡的地区。
从Analysis下拉菜单选择Map Query。
在Map Query 2对话框中,设定查询表达式为:([slope_gd]=2.AsGrid) AND ([Aspect_qd]=4.
AsGrid),点击Evaluate。
Map Query 2显示满足以上逻辑表达式条件的地区。
6.为把地图查询的结果存盘,需先激活所要存储的输出结果,然后从Theme下
拉菜单选择Save Data Set。
在弹出的对话框中,指定存储该数据集的名称和路径。
第10章矢量数据分析
(课堂完成)习作1:
1.理解常规矢量分析操作(缓冲区分析、地图叠加、边界融合)、表格数据处理及Avenue
Script脚本的应用
2.分析如何利用GIS操作解决实际问题?
习作2:
1.理解矢量数据的距离量测;
2.练习和理解空间连接操作(Assign Data by Location)
(课堂完成)习作1 缓冲、叠加和Avenue Script的应用
习作1模拟实际项目的GIS分析,介绍常用的基于矢量的分析,诸如缓冲、地图叠加、边界融合、表格数据处理以及Avenue Script脚本的应用。
本习作要求用下列指标选择寻找一个新的大学水产养殖实验室的适宜地点:
首选土地利用为灌木林地(如landuse.shp中的lucode=300)
选择适宜开发的土壤类型(如soils.shp中的suit>=2)
地点必须离下水道管线300m范围之内
1.启动ArcView并勾选GeoProcessing扩展模块。
2.把sewers.shp、landuse.shp和soils.shp加到视图。
3.从View下拉菜单中选择Properties。
在View Properties对话框里将地图单位
和距离单位设为m。
4.第一步操作是以300m缓冲距离对sewers.shp作缓冲。
激活sewers.shp,从
Theme下拉菜单中选择Create Buffers。
在Create Buffers对话框中,确认想要缓冲的sewers.shp要素。
点击Next。
指定距离设为300m。
点击Next。
点击Yes以消除缓冲区之间的界限。
将缓冲结果以新的专题图存盘,命名为sewerbuf.shp。
点击Finish。
Sewerbuf.shp以Buffer1 of sewers.shp出现在目录表中。
从Theme下拉菜单中选择Properties,将Buffer1 of sewers.shp重新命名为sewerbuf.shp。
5.下一步操作是对soils.shp和landuse.shp作叠加操作。
从View菜单中选择
GeoProcessing Wizard。
在GeoProcessing对话框中,勾选“Union two themes”。
点击Next。
在随后的对话框中,选择soils.shp作为要联合的输入专题图,选择landuse.shp作为要联合的多边形叠加专题图,并指定输出文件名为landsoil.shp。
点击Finish。
6.现在需要叠加landsoil.shp与sewerbuf.shp(记住一次只能叠加两个专题图)。
在
GeoProcessing对话框里勾选“Intersect two themes”。
选择sewerbuf.shp作为要相交的输入专题图,landsoil.shp作为叠加专题图,并指定相交输出文件名为finalcov.shp。
点击Finish。
7.finalcov.shp含有适宜性分析的全部属性数据。
接着要做的是查询分析。
打开
finalcov.shp的专题属性表。
开始编辑表格(点击Table菜单下的Start Editing)。
把名为suitable(Number,2,0)的新字段添加到表格中(点击Edit菜单下的Add Field)。
用Query Builder选择满足以下指标的多边形:Lucode=300 and suit>=2。
点击Add to Set。
在主菜单中点击Calculate按钮,出现Field Calculator对话框。
在对话框左下方表达式方框中输入1(使完整的表达式为suitable=1)。
点击OK。
8.点击Promote按钮把满足选择指标的多边形移到表格上部。
注意它们的适宜
性数值都是1。
9.对finalcov.shp专题属性表还有一事要做的是:从表格中删除一套面积和周长
数据。
该表含有两套来自叠加操作的面积和周长数据。
加亮第一个面积字段并在Edit下拉菜单中点击删除该字段。
然后,加亮第一个周长字段并点击删除。
至此,你可将编辑好的表格存盘。
10.因为shapefile不用拓扑关系,finalcov.shp专题属性表中的面积数值在地图叠
加操作之后尚未更新。
要用ArcView Help文档中的Avenue脚本来计算正确的面积数值。
浏览至“Sample scripts and extensions\Sample scripts\Views\Data conversion/alteration”并点击“Calculates feature geometry values”。
在帮助专题的顶部,点击Source Code打开一个有源程序的视窗。
在源程序视窗中的选项菜单中选择复制。
11.在Project视窗,点击Scripts和New,打开一个脚本视窗。
然后点击Paste按
钮。
这就把用于计算要素几何数值的样板脚本复制到脚本视窗。
点击Compile 按钮以编辑该脚本。
12.激活View并接着激活脚本视窗(样板脚本要求运行脚本之前视图文档为激活
文档)。
点击Run按钮以运行该样板脚本。
对更新面积和周长的提问回答Yes。
返回finalcov.shp专题属性表。
面积数值现已更新。
要获取潜在地点的总面积,需作以下步骤:首先,用Query Builder从finalcov.shp专题属性表中选择suitable=1的记录;其次,在专题属性表中加亮Area字段;第三,从field菜单中选择Statistics对话框。
Statistics对话框显示所选记录有关面积字段的总和及其他统计值。
13.finalcov.shp包括适宜性取值为1和0的多边形。
为了用专题菜单中的Dissolve
生成仅包含潜在地点的新专题图,从View菜单中选择GeoProcessing Wizard,这次选择Dissolve操作。
点击Next。
在随后的对话框中,选择finalcov.shp 作为边界融合的专题图,选择适宜性作为边界融合的属性,并指定边界融合的输出文件名为finaldis.shp。
对该输出结果无需更多的字段或操作。
finaldis.shp仅含有选为潜在地点的多边形。
习作2 距离量测
所需数据:deer.shp和edge.shp。
习作2要求你用Assign Data by Location方法来量测deer.shp中的每个鹿场与edge.shp中原始林与皆伐区边缘的最近距离。
1.启动ArcView并载入Geoprocessing扩展模块。
打开一个新视图,把deer.shp
和edge.shp加到视图。
从View菜单选择Properties,并指定地图单位为m。
2.从View菜单选择Geoprocessing Wizard。
在弹出的对话框中,点击Assign Data
by Location选择按钮。
点击Next。
然后,指定deer.shp为接受赋予数据的专题图,edge.shp为提供赋予数据的专题图。
点击Finish。
3.激活deer.shp并打开其属性表。
注意Distance和其他字段已被加到专题属性
表中。
点击Query Builder按钮。
准备查询表达式为:[Distance]<=50。
这些位于与其最近交界处50m范围之内的鹿场在专题属性表中以及视图中被加亮。
第11章栅格数据分析
习题1 局部和领域运算
所需数据:高程格网emidalat,单元分辨率为30m。
习作1让你运作两个栅格数据处理。
第一个应用局部运算将emidalat的高程数值由米转化为英尺;第二个应用邻域运算归纳emidalat的高程数值。
1.启动ArcView并加载Spatial Analyst 扩展模块。
打开一个新视图,并将edidalat
加到视图。
从View下拉菜单选择Properties并将地图单位设定为m。
2.从Analysis下拉菜单选择Map Calculator。
在弹出的对话框里,在Layers目
录中双击emidalat,点击乘法(*)按钮,由键盘键入3.28,常数3.28是用于把高程数值由米转化为英尺。
你将在表达式方框内看到( [Emidalat] * 3.28)。
点击Evaluate。
3.该输出名称为Map Calculator 1,它以英尺显示emidalat。
Map Calculator 1是
临时网格。
你可从Theme 下拉菜单选择Save Data Set将该格网存盘,为其指定文件名和路径。
4.继续习作1的第二部分,激活emidalat。
5.从Analysis菜单选择Neighborhood Statistics(邻域统计)。
在Neiguborhood
Statistics对话框中,确认Statistics为平均值,Neighborhood为矩形,Width 和Height均为3(单元)。
点击OK。
带有单元值的滑动平均值的输出名称为NbrMean of Emidalat。
对新格网专题的复选框打钩来观察视图。
除非细看,否则或许说不出新格网与emidalat有何不同。
确认NbrMean of Emidalat为激活状态,从Theme下拉菜单选择Properties。
注意在Theme Properties对话框中,新格网单元大小为30m。
与emidalat相同。
对话框还显示新格网具有Temporary状态。
你可以从Theme选择Save Data Set,并指定文件名和路径。
习作2 分带运算
所需数据:表示爱达荷州年平均降水量的格网Preicipgd;流域格网hucgd。
习作2请你导出爱达荷州按流域的年降水量统计值。
Precipgd和hucgd的投影均为爱达荷横轴墨卡托(Mercator)坐标系统,以米为单位。
降水量的单位为1/100in,例如,单元值为675即是6.75in。
1.激动ArcView,家在Spatial Analyst扩展模块。
打开一个新视图,把precipgd
和hucgd加到视图。
在本运算中,hucgd为分带格网,precipgd为输入格网。
2.激活hucgd,从Analysis下拉菜单选择Summarize Zones。
在弹出的对话框中,
确认precipgd为要总结的专题。
3.你可选择一个统计量来作图,选择平均值作图。
4.Zones of Hucgd 内的Stats of Precipgd表格按流域列出年降水量的统计值:最
小值、最大值、值域、平均值、标准差、总和、种类、少数和多数。
习作3 自然距离测量
所需数据:表示河流的格网strmgd;表示高度带的格网elevgd。
习作3要求你查找一个植物种类的潜在生长环境。
strmgd中的单元值是河流的ID值。
elevgd中的单元值是高度带的1、2和3,两个格网的单元分辨率均为100m。
该植物种类的潜在生长环境必须满足下列指标:
高度带为2,且与河流的距离在200m之内
1.启动ArcView并加载Spatial Analyst扩张模块。
2.打开一个新视图,把strmgd和elevgd加到视图。
从View下拉菜单选择
Properties,指定地图单位为m。
3.第一步,创建离河流200m的距离带。
从Analysis下拉菜单选择Find Distance,
Spatial Analyst扩展模块创建了一个名为Distance to Strmgd的新格网。
新格网以默认的分类系统出现。
你可对格网重新分类,以建立距河流200m以内以外两个距离带。
激活Distance to Strmgd。
从Analysis下拉菜单选择Reclassify。
在Reclassify Values对话框里点击Classify,把类型数改为2,点击OK。
接着在Old Values下点击第一个单元,把数字值域改为0~200;在Old Values下改变第二个单元值为201~2421,把第三个单元保留No Data(无数据)不变。
点击OK。
4.Reclassify功能把名为Reclass of Distance to Strmgd的新格网加到视图。
该新
格网只有三个数据:1、2和No Data(无数据)。
取值为1的单元为距河流200m 范围之内。
5.习作3的最后一步是查询Reclass of Distance to Strmgd和Elevgd。
从Analysis
下拉菜单选择Map Query 1对话框的视窗范围内,准备下列查询表达式:([Reclass of Distance to Strmgd]=1.AsGrid) AND ([Elevgd]=2.AsGrid)。
你不必键入AsGrid请求,因为它会自动加上。
点击Evaluate。
6.查询结果显示在Map Query 1格网中。
值为True(1)的那些单元满足所要求的
两个指标。
7.若不用对Distance to Strmgd 格网再分类,也能完成习作3。
在此情况下,查
询表达式必须改成:([Distance to Strmgd]<=200.AsGrid) AND ([Elevgd]=2.AsGrid)。
习作4 最小积累成本距离示例
所需数据:与图11.14相同的格网sourcegrid和costgrid;用于CostPath请求的格网pathgrid。
1.启动ArcView并加载Spatial Analyst扩展模块。
2.打开一个新视图,把sourcegrid和costgrid加到视图。
在sourcegrid中指定右
上角和左下角的单元为源单元。
从Analysis下拉菜单选择Map Calculator。
然后用CostDistance请求来计算sourcegrid中每个单元对于costgrid中的源单元的最小累积成本距离。
CostDistance的语法如下:
aGrid.CostDistance(costGrid, directionFN, allocationFN, maxDistance)
以上参数中,directionFN 是方向或返还格网的文件名,allocationFN是配置网格的文件名,maxDistance定义最小累积成本的阈值。
在Map Calculator对话框的表达式方框内输入下列语句,并点击Evaluate。
([sourcegrid].CostDistance([costgrid], ”dir_gd”.AsFileName, ”alloc_gd”.AsFile Name, Nil))
3.CostDistance请求的输出网格为Map Calculation 1。
激活Map Calculation 1。
从Theme下拉菜单选择Properties,将Map Calculation 1重新命名为least_gd。
用identity工具在least_gd中查单元值,其值应该与下图相同。
4.CostDistance请求还创建了dir_gd和alloc_gd。
把dir_gd和alloc_gd加到视图。
alloc_gd易于理解:该格网中单元被区分成两部分,分配给源单元1(左下角)或分配给源单元2(右上角)。
dir_gd需要作一些解释。
dir_gd中的单元值的值域为0~8。
每个单元值指明哪个相邻单元要移送或返还给源单元。
单元值的注释如下:
下图表明dir_gd
5.下一步,用CostPath请求,以pathgrid的值计算对于两个单元的最短成本路
径。
把pathgrid加到视图。
从Analysis下拉菜单选择Map Calculator。
CostPath 请求的语法如下:
AGrid. CostPath(distanceGrid, directionGrid, byZone)
以上参数中,distanceGrid和directionGrid是由CostDistance请求创建的输出格网。
若成本路径是以相同值对每个地带或每组单元计算,byZone参数可以为真(True),若成本路径是以一个数值对每个单元进行计算,则为假(False)。
运行CostPath,在Map Calculator对话框的表达式方框里输入下列表达式并点击Evaluate:
([pathgrid].CostPath([least_gd], [dir_gd], False))
CostPath请求的输出结果包含三种单元值:1代表源单位;3是pathgrid中数值为1的单元的最小成本路径;4是pathgrid中数值为2的单元的最小成本路径。
激活输出格网并打开其专题属性表。
该专题属性表显示每条路径的最小累计成本和每条路径的起始行、列。
行、列的编号起自左上角单元(其行号和列号均为0)。
第12章地形图制图与分析
习作1 利用数字高程模型进行地形制图与分析
所需数据:高程格网plne;河流的shapefile文件stream.shp。
高程格网是从美国地质调查局(USGS)的7.5分数字高程模型导入的。
河流的shapefile显示该地区的主要河流。
习作1涉及应用ArcView的Spatial Analyst (空间分析)和3-D Analyst (三维分析)扩展模块进行地形制图和分析。
1.1创建等高线专题
1.启动ArcView并加载3-D Analyst和Spatial Analyst扩展模块
2.打开一个新视窗,加入格网源数据plne和河流shapefile文件stream.shp。
点
击复选框中的plne以显示高程格网,激活plne。
3.从Surface下拉菜单中选择Create Contours(创建等高线)。
输入等高距为100,
基础等高线为800。
点击OK。
4.点击Contours of Plne,画出新创建的等高线专题。
1.2创建垂直剖面
1.激活stream.shp,在主菜单中点击Open Theme Table(打开专题属性表)。
点
击下拉菜单Query Builder(查询),选择“Usgh_id=167”(用于绘制垂直剖面图的小支流)。
因为所选的支流是一种面状特征,沿着这条支流的高程变化必须由高程格网导出。
2.从Theme下拉菜单选择Convertible to 3-D Shapefile(转变为三维shapefile)。
在弹出的“Get Z values from”对话框里选择Surface,再把Surface选为plne。
格网的采样的距离设为30m。
把三维Shapefile文件命名为Profile.shp。
采样距离30m与plne的单元大小相同。
3.激活profile.shp。
4.打开一个新视图版(layout),然后点击Profile Graph(剖面图)工具按钮。
在图版内划定要画垂直剖面的范围:将光标移到选定范围的左上角,按住鼠标左键把光标拖至右下角,然后放开鼠标左键。
5.在Profile Graph Properties(剖面图属性)对话框里,设定垂直夸大因子为10。
点击OK。
图版显示出所选河流的垂直剖面。
1.3创建晕渲专题图
1.激活plne,从Surface下拉菜单中选择Computer Hillshade(计算晕渲)。
选取
方位角默认值为315,高度角默认值为45。
换言之,创建晕渲专题图的光源来自西北方向,与地平线呈45°夹角。
点击OK
2.点击Hillshade of Plne,画出晕渲专题。
1.4创建透视图
1.ArcView通过3D Scenes(三维图景)文档来制作三维透视图,3D Scenes文
档调用了3D Analyst模块而加进去的。
选择3D Scenes 文档并双击New按键,打开了一个单独的目录表和一个3D viewer(三维阅读器)。
2.从3D Scene菜单选择Add Theme(添加专题)。
把高程格网plne加到视图。
原来的plne视图是二维的,从Theme下拉菜单中选择3D Properties(三维属性)。
在3D Properties对话框中,找到Surface并点击OK。
三维视图比例尺为1:1,即无限垂直扩大。
3.三维阅读器有一套工具用于制作三维视图。
Navigate使你能以不同视角和距
离观察地面。
Rotate Viewer(旋转阅读器)工具能以逆时针方向自动旋转三维视图。
按下Esc键可停止旋转。
你也可以用工具进行放大或缩小,查询或选择要素。
4.下一步,在三维视图上叠置河流。
在3D Scene菜单上选择Add Theme,并选
择特征专题streams.shp。
因为streams.shp是二维专题,必须把它转换成三维shape文件。
激活streams.shp并从Theme下拉菜单中选择Convert to 3D Shapefile。
在接着的对话框中,选择Surface以获取z值,选择面专题为plne,采样距离为30m。
然后,将新的shapefile文件命名为strm3d.shp。
显示strm3d.shp,河流即叠置于三维表面上。
5.你可用位于3D Scenes文档一起的View文档进行操作。
例如,你可创建plne
的晕渲并以三维视图显示。
1.5创建坡度专题图
1.激活plne,从Surface下拉菜单中选择Derive Slope(生成坡度),据plne创
建坡度专题图。
点击复选框,显示坡度专题图。
2.坡度专题图是浮点型格网。
默认分类把坡度均分为9个以度为单位的类型。
你想要根据你的意图来划分图例类型的话,从Analysis菜单选择Reclassify (重新分类)。
点击Classify(分类)按钮。
把类型数目改变为5,并点击OK。
在Reclassify Values(重新分类值)对话框里,将原值相应改变为0~10、10~20、20~30、30~40和40~55,并点击OK。
新专题图Reclass of Slope以10度为间隔分类。
画出新专题图。
3.重新分类不但改变了坡度分类,而且把坡度专题由浮点型格网转变为整型格
网。
整型格网的好处在于可以显示属性数据。
从Theme菜单选择Table来显示数值属性和Reclass of Slope的计数。
数值表示重新分类后的坡度值:1代表0°~10°,2代表10°~20°,以此类推。
计数表明每种坡度类型的单元数。
把一种坡度坡度类型的计数值除以全部的计数值,可以得到该坡度类型的面积百分数。
1.6创建坡向专题图
1.激活plne,在Surface下拉菜单中选择Derive Aspect(生成坡向)以创建坡向
专题。
坡向专题以9个类别显示:平坦、北、东北、东、南东、南、南西、西和西北。
但是坡向格网实际上是浮点型格网,没有专题属性表。
用Analysis。