《课程实验教学指导书.doc》由会员分享,可在线阅读,更多相关《课程实验教学指导书.doc(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、ArcGIS应用与实践指导书官冬杰 张学儒重庆交通大学河海学院资源与环境科学系、仿真实验室实验六 空间数据组织与处理1 练习:数据更新变换 1 背景:由于空间数据(包括地形图与 DEM)都是分幅存储的,造成某一特定研究区域跨越了不同的图幅。而当我们要获取有特定边界的研究区域时,就要对数据进行裁切、拼接、提取等操作,有时还要进行相应的投影变换。 2 目的:获取具有投影坐标系统的特定边界的 DEM 数据。 3 要求:通过两幅给定的 DEM 数据,提取出白水县县界范围内的 DEM 数据,并将数据转换成高斯克吕格投影系统。通过练习,掌握数据提取、裁切、拼接及投影变换的方法。 4 数据:1 幅 1:25
2、 万矢量数据,为地理坐标系统,其中大地基准是D_North_American_1927,参考椭球体是 Clarke 1866,这是 Arcgis 为 Shapefile 类型的数据假设的地理坐标系统(实验数据在 Chapter4/Exercise1 中)。2 幅 1:25 万 DEM 数据,为地理坐标系统,大地基准是 D_Krasovsky_1940,参考椭球体是 Krasovsky_1940。 1:25万矢量数据 白水县县界 提取 裁切 2幅1:25万DEM数据 合并 1幅1:25万DEM数据 白水县DEM数据 定义投影 结果数据 图1 工作流程 5 操作步骤: (1)白水县的行政范围的提取
3、 1) 打开 1:25 万矢量数据(图 2)。 图 2 原始矢量数据 2) 利用 Analysis Tools 工具箱,Extract 工具集中的 Select 工具,依据“name”字段,即 SQL 表达式设置为“NAME = 白水县”,提取出白水县(图 3)。 A. 展开Analysis Tools工具箱,打开Extract工具集,双击Select,打开Select 对话框。 B. 在 Input Features 文本框中选择输入“E:/ChP4/Ex1/Vector”矢量数据。 C. 在 Output Feature Class 文本框键入输出的数据的路径与名称“E:/ChP4/Ex1
4、/vector_Select”。 D. 单击Expression可选文本框旁边的按钮,打开Query Builder对话框,设置SQL表达式“NAME = 白水县”。 E. 单击OK按钮,执行Select操作。 图 3 白水县矢量数据 (2)DEM 数据的拼接 1) 打开白水县横跨的两幅 DEM 数据,DEM1 和 DEM2(图 4)。 图 4 原始 DEM 数据 2) 利用 Data Management Tools 工具箱,Raster 工具集中的 Mosaic To New Raster 工具进行数据拼接,得到拼接结果 DEM(图 5)。其中,Cellsize 是默认状态,则结果数据与原
5、始数据的栅格大小一致。因为原始数据类型为 16_BIT_UNSIGNED,所以在 Pixel type 窗口选择该类型。 A. 展开 Data Management Tools 工具箱,打开Raster工具集,双击 Mosaic To New Raster,打开 Mosaic To New Raster 对话框。 B. 在 Input Rasters 文本框中选择输入 DEM1 和 DEM2。 C. 在 Output Location 文本框键入输出数据存储的位置“E:/ChP4/Ex1”。 D. 在 Raster dataset name with extension 文本框设置输出数据的名
6、称“DEM”。 E. 在 Pixel type 可选窗口,设置输出数据栅格的类型为 16_bit_UNSIGNED。 F. 在 Mosaic Mothod 可选窗口,确定镶嵌重叠部分的方法,本次拼接方法选择MEAN,表示重叠部分的结果数据取重叠栅格的平均值。 G. 单击OK按钮,执行 Mosaic To New Raster 操作。 图 5 DEM 拼接结果 (3)白水县 DEM 的裁切 利用 Spatial Analyst Tools 工具箱,Extraction 工具集中的 Extract by Mask 工具,以白水县矢量数据裁切拼接的 DEM 数据,获取白水县 DEM(图 6)。从图
7、6 下面状态栏的坐标可以看出,白水县的 DEM 是以地理坐标系统显示的,为了便于量算以及与其它数据叠合分析,应该把地理坐标系统转换为投影坐标系统。 1) 展开 Spatial Analyst Tools 工具箱,打开 Extraction 工具集,双击 Extract by Mask,打开 Extract by Mask 对话框。 2) 在 Input raster 文本框中选择输入需要裁切的栅格数据“E:/ChP4/Ex1/DEM”。 3) 在 Input raster or feature mask data 文本框定义进行裁切数据“E:/ChP4/Ex1/ vector_Select”。
8、 4) 在 Output raster 文本框键入输出的数据的路径与名称“E:/ChP4/Ex1/extract_dem”。 5) 单击 OK 按钮,执行 Extract by Mask 操作。 图6 白水县DEM数据 (4)白水县 DEM 的投影变换 利用 Data Management Tools 工具箱,Projections and Transformations 中的 Raster 工具集,选择其中的 Project Raster 工具,进行白水县 DEM 的投影变换。我国大中比例尺地形图规定采用以克拉索夫斯基椭球体元素计算的高斯克吕格投影。因此,投影方式选择 Xian 1980 G
9、K Zone 19.prj(图 7),即为高斯克吕格投影,西安 1980 大地基准,中央经线为 111。转换结果如图 8 所示,从下面状态栏的坐标可以看出,白水县的 DEM 已转换为平面直角坐标显示。 图 7 投影坐标系统的选择 (1) 展开 Data Management Tools 工具箱,打开 Projections and Transformations 中的 Raster 工具集,双击 Project Raster,打开 Project Raster 对话框。 (2) 在 Input raster 文本框中选择输入进行投影变换的栅格数据“ E :/ChP4/Ex1/extract_d
10、em”。 (3) 在 Output raster 文本框键入输出的栅格数据的路径与名称 E : /ChP4/Ex1/Result/project_dem”。 (4) 单击Output coordinate system文本框旁边的图标,打开 Spatial Reference 属性对话框,单击 Select 按钮,打开 Browe for Coordinate System 对话框,选择Xian 1980 GK Zone 19.prj 投影。 (5) Resampling technique 是选择栅格数据在新的投影类型下的重采样方式,选择 NEAREST。 (6) 单击OK按钮,执行投影变换
11、。 图4.8 投影结果图 练习 2:某地区地块的拓扑关系建立 1 背景:拓扑关系对于数据处理和空间分析具有重要意义,拓扑经常应用于地块查询、土地利用类型更新等。 2 目的:通过本例,让读者掌握创建一个要素数据集的拓扑关系的整个流程,并对创建拓扑后的一些工作,如拓扑错误检测、拓扑错误修改、拓扑编辑等基本操作有一个较全面的了解。 3 要求:在 Topology 数据集中导入上述两个 Shapefile,建立该要素数据集的拓扑关系,使拓扑生效后检测拓扑错误,修改拓扑错误,最后进行拓扑编辑。 4 数据:Blocks.shp、Parcels.shp,存放在/ChP3/Ex1 中,请将其拷贝到 E:/Ch
12、P3/Ex1。结果数据存放于/ChP3/Ex1/Result 中。 5 操作步骤: (1)创建地理数据库 1) 在 ArcCatalog 树中,右键单击 Result 文件夹,单击 New,单击 Personal Geodatabase,输入所建的地理数据库名称:NewGeodatabase。如图 1 所示。在新建的地理数据库中创建要素数据集,如图 2 所示。 2) 打开 New Feature Dataset 对话框,如图 3 所示。将数据集命名为:Topology。 图1创建地理数据库 图2创建要素数据集 3)单击Edit按钮,打开Spatial Reference属性对话框,如图4所示。
13、 图3 New Feature Dataset对话框 图4 Spatial Reference属性对话框 4) 单击Import按钮,选择要与之具有相同坐标系统的数据集:Blocks.shp或Parcels.shp,如图 5 所示。 5) 单击 Add 按钮,返回 Spatial Reference 属性对话框。这时要素数据集定义了坐标系统。单击确定按钮。 (2)向数据集中导入数据 1) 在 ArcCatalog 树中,右键单击 Result 文件夹中的 Topology 数据集,单击 Import,单击 Feature Class(multiple),如图 6 所示。 2) 打开 Featu
14、re Class to Geodatabase(multiple)对话框,如图 7 所示。导入 Blocks 和 图5 匹配坐标系统 图6向数据集中导入数据 Parcels 两个 Shapefile,单击 OK 按钮。 (3)在要素类中建立子类型 由于原数据 Blocks 和 Parcels 两个有子类型,把要素分为了居民区和非居民区,图8 建立子类型 图7 Feature Class to Geodatabase(multiple)对话框 而数据导入到数据集后并没有子类型,所以在导入数据后为每个要素类建立两个子类型:Residential 和 Non-Residential。 1) 在 Bl
15、ocks 要素类上单击右键,单击 Properties,如图 8 所示。打开 Feature Class Properties 对话框,如图 9 所示。 2) 打开 Feature Class Properties 对话框(Subtypes 选项卡)。在 Subtypes Field 下拉框中选择一个子类型字段:Res,在 Default Subtype 窗口中出现所选字段的默认的新的子类型名称:New Subtype。 3) 在 Subtypes 栏中的 Code 列下输入新的子类型代码及其描述,描述将自动更新Default Subtypes 窗口中的内容。 4)重复上述步骤,添加其他子类型
16、。如图 10 所示,添加了两个子类型:Residential 和 Non-Residential。单击确定按钮。 5) 以相同的方法在Parcels要素类中建立两个子类型:Residential和Non-Residential。 图10 添加了两个子类型 图9 Feature Class Properties对话框 (4) 创建拓扑 1) 在 ArcCatalog 树中,右键单击 Topology 要素数据集,单击 New,单击 Topology。如图 11 所示。打开 New Topology 对话框,它是对创建拓扑的简单介绍,如图 12 所示。 图 11 创建拓扑 2) 单击下一步按钮,打
17、开确定名称和聚类误差(Cluster Tolerance)对话框,如图 13 所示。输入所创建拓扑的名称和聚类误差。聚类误差应该依据数据精度而尽量小,它决定着在多大范围内要素必须具有一致性。 图12 New Topology对话框 图13确定名称和聚类误差对话框 3) 单击下一步按钮,打开选择参与创建拓扑的要素类对话框,如图 14 所示。 4) 单击下一步按钮,打开设置拓扑等级数目对话框,如图 15 所示。设置拓扑等级的数目及拓扑中每个要素类的等级。 图15设置拓扑等级数目对话框 图14 选择参与创建拓扑的要素类对话框 5) 单击下一步按钮,打开指定拓扑规则对话框,如图 16 所示。 6) 单
18、击 Add Rule 按钮,打开 Add Rule 对话框,如图 17 所示。在 Features of feature class 下拉框中选择 Parcels,在 Rules 下拉框中选择 Must Not Overlap,表示一个区域不能与另一个区域重叠,可以连接在一起,也可以分开。若两个区域重叠,则违背所定义的拓扑规则,出现拓扑错误。在对话框的右侧面板,显示所选规则的示意图及简单介绍。 18 所示。这个规则将控制同一个要素类中的要素的拓扑关系。 7)拓扑规则对话框,可以看到已经创建了一个规则,如图 单击OK按钮,返回指定图16 指定拓扑规则对话框图17Add Rule对话框 8) 单击
19、 Add Rule 按钮,创建另一个规则。如图 19 所示。在 Features of feature class 下拉框中选择 Parcels 要素类中的 Residential,在 Rules 下拉框中选择 Must Be Covered by,在 Feature class 下拉框中选择 Blocks 要素类中的 Residential。Must Be Covered by 表示一个图层中某个要素包括另一个图层中的一定要素。在本例中, Blocks 中的居民区包括了 Parcels 中的居民区。 9) 单击 OK 按钮,返回指定拓扑规则对话框,可以看到已经创建了两个规则,如图20 所示。
20、 10)单击下一步按钮,打开参数信息总结框,如图 21 所示。 11) 单击完成按钮,出现进程条,当进程结束时,拓扑创建完成。 12)出现一对话框,询问是否立即使拓扑有效。如图 22 所示。单击否按钮,在以后的工作流程中使其生效,创建的拓扑出现在 Catalog 树中;单击是按钮,出现进程条,进程结束时,拓扑已经生效,创建的拓扑出现在 Catalog 树中。 图18添加了一个规则19图添加第二个规则 图 22 询问是否使拓扑生效 图20添加了两个规则 图21信息总结对话框 (5) 查找拓扑错误 1) 在 ArcCatalog 树中,右键单击新建的拓扑,单击 Properties,如图 23 所
21、示。 2) 打开 Topology Properties 对话框,如图 24 所 示。单击 Remove All 按钮,将已有的两个规则删除。 3) 单击 Add Rule 按钮,打开 Add Rule 对话框, 重新定义一个规则:Must Not Overlap With,如图 25 所示,在 Features of feature class 下拉框中选择 Parcels 中的 Non-Residential,在Feature class 下拉框中选择 Blocks 中的图 23 创建拓扑 Residential。这个拓扑规则表示 Parcels 中 的非居住区必须与 Blocks 中的居
22、住区不重叠。 4) 单击 OK 按钮,返回 Add Rule 对话框,定义了一个新规则。如图 26 所示。单击确定按钮,完成拓扑的修改。 5) 在 ArcMap 中加载数据 creatingTopology、Parcels 和 Blocks 三层,如图 27 所示。先将某个图层设为可编辑状态。调入 Topology 工具栏,如图 28 所示。在 Topology 下拉框中选择要编辑的拓扑图层 creatingTopology。 6) 拓扑修改(更改名字、修改规则等)后需要使拓扑生效,可以通过单击 Topology 工具栏中的 按钮,使图面上的指定区域拓扑生效、按钮可以使当前可见图面的拓扑生效、
23、 按钮可以使整个拓扑生效。生效的过程其实就是检验拓扑错误的过程,若拓扑规则有错误,则拓扑生效后,会把有错误的地方自动显示出来。在本例中,可在加载了数据后,单击按钮,使拓扑生效,这时视图中出现四个深色方块,即是拓扑错误的地方。如图 29 所示。 图24Topology Properties对话框 图25Add Rule对话框 图26定义了一个新规则 图27 加载数据 图 28 Topology 工具栏 图 29 显示拓扑错误的地方 7) 单击 Topology 工具栏中的检测拓扑错误按钮,打开 Error Inspector 对话框,并单击 Search Now 按钮,即可检查出拓扑错误,并在下
24、方的表格中显示拓扑错误的详细信息。如图 30 所示。 图 30 Error Inspector 对话框 (6)修改拓扑错误 creatingTopology 的拓扑规则表示 Parcels 中的非居住区必须与 Blocks 中的居住区不重叠。当 Parcels 中的非居住区与 Blocks 中的居住区重叠时,产生拓扑错误。 为了修改拓扑错误,可以把 Parcels 层设为编辑状态,把产生拓扑错误的 Parcels 中的 Non-Residential 改为 Residential,或者把 Blocks 层设为编辑状态,把产生拓扑错误的Blocks中的Residential改为Non-Resid
25、ential。再使拓扑生效即可。 1) 设置Parcels图层可编辑,单击按钮,选中产生拓扑错误的要素,再单击按 钮,打开属性表,如图31所示,将Res字段改为Residential。 2) 图 31打开属性表 单击Topology工具栏中的按钮,使当前可见图面的拓扑生效,这时可以看到 图形窗口中的拓扑错误只剩三个。按照上述两个步骤,修改其余三个拓扑错误。 (7) 拓扑编辑 拓扑编辑包括共享结点的移动、共享边线的移动、共享边线变形、共享边线修改和共享多边形生成。在这里介绍共享结点的移动和共享边的变形,其他的编辑参见 3.4.3。 1) 将 Parcels 设置为可编辑状态,将视图放大到一定比例,单击 Topology 工具栏中的按钮,选择要进行拓扑编辑的要素,进行移动、修改等操作。如图 32 所示,选中了一个点并移动这个点。 图 32 共享结点的移动 2) 在 Task 下拉窗口中选择 Topology Tasks 中的 Reshape Edges 任务,在 Target 选择目标图层为 Parcels。单击按钮,在视图中选中一条边要素,再单击按钮,画一条草图线与所选边两次相交,共享边就会发生变形,如图 33 所示。 图 33 共享边的变形
限制150内