实习二空间数据的转换与处理实习内容1:某地区地块的拓扑关系建立背景:拓扑关系对于数据处理和空间分析具有重要意义,拓扑分析经常用于地块查询、土地利用类型更新等。
目的:通过本例,掌握创建拓扑关系的具体操作流程,包括拓扑创建、拓扑错误检测、拓扑错误修改、拓扑编辑等基本操作。
要求:在Topology数据集中导入两个shapefile ,建立该要素数据集的拓扑关系,进行拓扑检验,修改拓扑错误,并进行拓扑编辑。
数据:blocks.shp、parcels.shp,分别为某地区的总体规划和细节规划的地块矢量数据,在data-1中。
操作步骤:流程如下:创建本地Geodatabase----创建数据集----导入两个shapefile文件----分别对两个要素类建立子类型----创建拓扑----拓扑检查----修改拓扑错误----拓扑编辑(1)创建Geodatabase在ArcCatalog树中,右键单击文件夹连接,单击连接文件夹,确定新建的Geodatabase存放的文件夹,右键选定的文件夹,新建文件地理数据库,输入所建的Geodatabase名称NewGeodatabase,在新建的Geodatabase上右键选择新建中的要素数据集,创建要素数据集。
在打开的新要素数据集对话框中,将数据集命名为Topology,单击下一步按钮,打开新建要素数据集对话框,单击导入按钮,为新建的数据集匹配坐标系统,选择Block.shp(已存在的shapefile文件),单击添加按钮,返回新建要素数据集对话框,这时要素数据集定义了坐标系统。
点击两次下一步,点击完成,这时就创建了名为Topology的要素数据集。
(2)向数据集中导入数据在ArcCatalog树中,右键单击Topology要素数据集,单击导入,选择要素类多个。
在打开的要素类至地理数据库(Geodatabase)(批量)对话框中,导入Block.shp和Parcels.shp文件,点击添加,对居民地的地块建立拓扑。
(3)在要素类中建立子类型(将要素分为居民区和非居民区)在创建地块的拓扑关系之前,需要把要素分为居民区和非居民区两个子类型,即把两个要素类的Res属性段分为Residential和Non-Residential两个属性代码值域,分别代表居民区和非居民区两个子类型。
右键Blocks要素类点击属性,打开要素类属性对话框,单击子类型选项卡。
在子类型字段下拉框中选择一个子类型:Res,在子类型栏的编码和描述列下输入新的子类型代码及其描述,描述将自动更新默认子类型窗口的内容,点击确定。
同样为Parcels要素类建立Non-Residential的子类型。
(我的电脑子类型字段下拉框有时候是灰色的不能选择,如果同学们遇到这个情况只需把catalog关掉重新打开就可以了)(4)创建拓扑在ArcCatalog树中,右键单击Topology要素数据集,选择新建中的拓扑,打开新建拓扑对话框,点击下一步,设置拓扑名称和拓扑容差(聚类容限应该根据数据精度而尽量小,它决定着在多大范围内要素能被捕捉到一起),在下一步参与创建拓扑的要素类对话框中选择参与创建拓扑的要素类(至少两个)。
继续在下一步拓扑等级数目对话框中设置等级的数目及拓扑中每个要素类的等级,这里登记相同设为1.下一步,设置拓扑规则。
这里设置Parcels中的非居民区不能与Blocks中的居住区重叠,即细节规则不能与总体规划冲突。
单击确定,点击下一步,打开参数信息总结框,检查无误后,单击完成按钮,拓扑创建成功。
出现一对话框,询问是否立即进行拓扑检验,单击否按钮,在以后的工作流程中再进行拓扑检验,创建的拓扑出现在Catalog树中,单击是按钮,出现进程条,进程结束时,拓扑检验完毕,创建的拓扑出现在Catalog 中。
(5)查找拓扑错误(在arcmap中加载上述三项数据,parcels设置为可编辑,加载topology工具条,下拉框选中要编辑的拓扑图层,单击topology工具栏上的检查拓扑错误按钮)1)点击工具栏中的按钮,启动Arcmap。
点击Arcmap界面右侧的目录按钮会出现ArcCatalog的目录树,按住鼠标将Topology要素集拖动到Arcmap界面右侧图层位置,释放鼠标,以上三个文件就全拖到了Arcmap里面了。
然后点击保存,将文件保存成.mxd格式地图文档。
2)右键Parcels图层点击编辑要素,单击开始编辑,将Parcels图层设为可编辑状态,此时会弹出编辑器工作条。
点击编辑器工作条右上角的小三角,点击自定义,加载拓扑工具条,在拓扑下拉框中选择要编辑的拓扑图层Topology_Topology。
3)单击Topology工具栏中错误检查器按钮,打开错误检查器对话框,单击立即搜索按钮,即可检查出拓扑错误,并在下方的表格中显示拓扑错误的详细信息。
(6)修改拓扑错误(parcels中的non-residential该为residential)1)当Parcels中的非居民区与Blocks中的居民区重叠时,产生拓扑错误。
为了修改拓扑错误,可以把产生拓扑错误的Parcels中的Non-Residengtial改为Residential,选中产生拓扑错误的要素,再单击属性表按钮打开属性表,将Res字段改为Residential。
2)拓扑修改后重新进行拓扑检验,可以通过Topology工具栏中的相应按钮(在图面上的指定区域进行拓扑检验、在当前可见图面上进行拓扑检验、在整个区域进行拓扑检验)。
(因上步未查找到拓扑错误,故此步骤略)(7)拓扑编辑(一个地块的边界需要修改(点和边))一个地块的边界需要修改,操作如下:1)将parcels设置为可编辑状态,将视图放大到一定比例,单击Topology工具栏中的选择按钮,选择要进行拓扑编辑的要素,进行移动、修改等操作。
2)在视图中选择一条边要素,再单击修整边工具按钮,画一条草图线与所选边两次相交,共享边就会发生变形。
实习内容2:数据更新变换背景:由于空间数据(包括地形图与DEM)都是分幅存储的,某一特定研究区域常常跨越不同图幅。
当要获取有特定边界的研究区域时,就要对数据进行裁切、拼接、提取等操作,有时还要进行相应的投影变换。
目的:通过本例,掌握数据提取、裁切、拼接及投影变换的方法。
要求:白水县跨两个1:25万图幅,要求提取白水县行政范围内的DEM数据,将数据转换成高斯-克吕格投影系统。
数据:矢量数据(Vector.shp):白水县的行政范围。
地理坐标系统,其中大地基准是D_North_American_1927,参考椭球是Clarke 1866,这是ArcGIS为Shapefile类型的数据假设的地理坐标系统。
DEM数据(dem1和dem2):为地理坐标系统,其中大地基准是D_Krasovsky_1940,参考椭球是Krasovsky_1940.工作流程:1)2幅1:25万DEM数据----合并为1幅1:5万DEM数据2)1:25万矢量数据----提取白水县县界3)利用白水县县界裁切DEM数据得到白水县DEM数据----定义投影得到结果数据操作步骤:(1)白水县行政范围的提取1)加载原始矢量数据。
启动Arcmap,右键图层添加数据,加载Vector.shp,dem1和dem2三个数据。
2)依据“name”字段,提取出白水县行政范围:点击ArcToolbox窗口按钮,加载ArcToolbox。
双击筛选工具(ArcToolbox→分析工具→提取→筛选),弹出筛选对话框,在输入要素下拉菜单中选择Vector。
点击表达式(可选)后面的SQL按钮,出现查询构建器对话框。
双击NAME,点击“=”号,单击获取唯一值按钮,双击白水县,点击确定。
返回筛选对话框点击确定。
(利用analysis tools\extract\select工具,注意编辑SQL表达式时,在英文状态下属于单引号)(2)DEM数据拼接1)加载两幅DEM数据2)DEM数据拼接:(ArcToolbox→数据管理工具→栅格→栅格数据集→双击镶嵌至新栅格,打开镶嵌至新栅格对话框,加载dem1和dem2,像素类型为16_bit_unsigned, 镶嵌运算符选择Mean)。
(3)利用白水县范围对DEM裁切(利用SpatialAnalyst工具\提取分析\双击按掩膜提取工具)(4)白水县DEM投影变换:将其地理坐标转换为投影坐标。
投影方式选择Xi’an 1980 GK zone 19.prj,即高斯-克吕格投影,西安1980大地基准,中央经线111度。
(利用工具Data Management Tools\Projections andTransformations\raster\project raster工具)1) 选择数据管理工具→投影和变换→栅格→投影栅格工具,打开投影栅格对话框。
2)在输入栅格文本框中选择进行投影变换的栅格数据:Extract_dem。
3)在输出栅格数据集文本框中键入输出的栅格数据的路径与名称。
4)单击输出坐标系文本框旁边的图标,打开空间参考属性对话框,选择Xi’an1980 GK zone 19.prj投影。
5)冲采样技术是选择栅格数据在新投影类型下的重采样方式,选择NEAREST。
6)单击确定按钮,完成操作。