(GIS 部分)适用于“测绘工程”专业硕士
测绘科学与技术系
后面不用看直接点击超链接,更清晰
点击,直接转知乎网址,网盘下载
第一部分 空间数据库管理及属性编辑
一、实验目的
二、实验准备
数据准备:数据文件:National.mdb ,GPS.txt (GPS 野外采集数据),请从课程相关网站下载。
软件准备:
ArcGIS Desktop 9.x —ArcCatalog
三、实验内容及步骤
第 1 步 启动 ArcCatalog 打开一个地理数据库
当 ArcCatalog 打开后,点击, 按钮 (连接到文件夹). 建立到包含练习数据的连接
(比如“E:\ARCGIS\EXEC2”),
在 ArcCatalog 窗口左边的目录树中, 点击上面创建的文件夹的连接图标旁的 (+)号,双击个人空间数据库- National.mdb。打开它。.
在 National.mdb 中包含有 2 个要素数据集、1 个关系类和 1 个属性表
第 2 步 预览地理数据库中的要素类
在 ArcCatalog 窗口右边的数据显示区内,点击“预览”选项页切换到“预览”视图界面。在目录树中,双击数据集要素集-“WorldContainer”,点击要素类-“Countries94”激活它。
在此窗口的下方,“预览”下拉列表中,选择“表格”。现在,你可以看到 Countries94 的属性表。查看它的属性字段信息。
花几分钟,以同样的方法查看一下 National.mdb 地理数据库中的其它数据。
第 3 步 创建缩图,并查看元数据
在目录树中,选择地理数据库 National 中的要素类-Countries94,切换到“预览视图”,
点击工具栏 上的放大按钮,将图层放大到一定区域,然后再点
,生成并更新缩略图。这时,切换到“内容”视图界面下,并在目录树中选择要素集-
“WorldContainer”,数据查看方式更改为“缩略图方式”。.注意,此时,要素类“Countries94”的缩图图是不是发生了改变
点击“元数据”选项页,查看当前要素类的元数据,了解当前要素类是采用什么坐标系,都有哪些属性字段,字段的类型等信息。在元数据工具栏中,从样式表中选择不同的样式,可以看到,元数据显示的格式发生了变化。
点击元数据导出按钮 ,可以将元数据导出为多种格式,这里我们选择为“HTML”格
式,确定后,元数据将被保存在指定路径下的.htm 文件中,从资源管理器中,打开这个.htm 文件,查看导出后的元数据信息。
第 4 步 创建个人地理数据库(Personal Geodatabase-PGD)
在 PGD 数据库中创建属性表然后录入数据。
在创建的地理数据库之间要完成数据库的概念设计,每一个图层对应一个数据表,在 ArcCatalog 中“要素类”(Feature Class)的概念与之对应。可以将多个要素类组织成为一个“要素集”(Feature DataSet),在同一个要素集中的要素类都具有相同的地理参考(坐标系相同)。
在 ArcCatalog 的目录树中,定位到 E:盘,右键点击这 E:盘,在出现的菜单中,选择[新建]>>[文件夹],文件夹名称改为 myGeoDB 。右键选中这个文件夹,在出现的菜单中,点击[新建]>>[个人 Geodatabase],这时会创建一个名称为 “新建个人
Geodatabase.mdb”的数据库文件,将之改名为:“Yunnan”。
右键点击数据库文件 “Yunan.mdb”,在出现的菜单中,选择[导入]>>[要素类 multiple], 在出现的对话框中,打开要导入要素:云南县界 prj.shp/云南县城 prj.shp/云南道路 prj.shp (这些文件在 Exece2文件夹下,按住 Shift键并点击鼠标可同时选择多个 Shape 文件)
确定后可以看到这三个图层已经被导入到数据库 Yunan.mdb 中
右键点击数据库文件 “Yunan.mdb”,在出现的菜单中,选择[新建]>>[要素集]
在出现的对话框中输入要素集的名称、点击按钮“编辑”为其指定一个坐标系
在这里,我们设定坐标系为:GCS_WGS_1984(即 Geographic Coordinate
System>>World>>WGS 1984.prj),这是一种被 GPS 采用的地理坐标系。
右键点击新建的要素集-Kunming,在出现的菜单中选择[新建]>>[要素类],在出现的对话框中输入要素类的名称-公交站点,点击<下一步>,再次点击<下一步>按钮。
在出现的对框中选择“Shape”字段,修改字段的几何类型为“点”(表示此要素类中将要存储的要素类型是点要素,我们准备用来存储公交站点) 注意:要素类的空间参考也被默认地设置为 GCS_WGS_1984 ,与要素集中指定的坐标系相同。
在出当前的对话框中,我们新加两个字段“站点名称”、“公交站点编号”,数据类型都设置为“Text”.点击“完成”按钮。
这样我们就完成了要素类的定义。可以将这个要素类(图层)加入的 ArcMap 中,进行数字化的工作,从背景地图中提取公交站点的位置。
新建数据表:右键点击地理数据库-Yunnan.mdb,在出现的菜单中,选择[新建]>>[表],输入表名称:公交线路,点<下一步>,再次点<下一步>,在对话框中,新添加两个字段 “公交站点编号”、“公交线路”(数据类型都设为 Text)
点击“完成”,结束属性表的定义。
创建公交站点到公交线路一对多的关系(1:M):右键选择地理数据库-Yunnan.mdb,在出现的菜单中选择<新建>-<关系类>,对以下内容进行设定,其它设置接受默认选项即
可。
指定源表和目标表 选择关系类型为一对多关系,这样可以建立公交站点到公交线路一对多的关系,因为经过一个公交站点的公交线路有多条,这样,在我们从公交站点分布图是查询某个公交站点时就可以查询经过这个站点的所有公交线。
设定主键和外键
点击下一步,直到完成关系类的定义。
以上步骤完成后,ArcCatalog 中就可以看到,在地理数据库 Yunana.mdb 中,有一个要素集(Kunming),其中包含一个要素类(公交站点)、一个数据表(公交线路)、一个关系类
(公交站及公交线 1:M)
第 5 步 拖放数据到 ArcMap 中
启动 ArcMap,新建一个空的地图文档,通过拖放的方式添加上面所创建的数据到
ArcMap 中:
在 ArcCatalog 中,点击“内容”选项页,在目录树中,点击地理数据库-Yunnan.mdb,将要素类-“公交站点”及属性数据表“公交线路”拖放到 ArcMap 中。
关闭 ArcCatalog,激活 ArcMap 窗口。
第 6 步 编辑属性数据及进行 1:M 的空间查询
为了让大家了解属性编辑的过程,我们需要在要素类公交站点中添加 3 个公交站点。(这只作演示使用,实际的数字化过程还需要加载经过配准后的扫描地图作为背景)。
首先,在工具栏显示区的空白处点击右键,在出现的菜单在选中“编辑器”,从而打开编辑器工具栏。
,在地图显区内随意地添加 3 个公交站点。
在图层列表控制面板(TOC)中,右键选择图层-“公交站点”,在出现的菜单中,选择
“打开属性表”命令,将显示公交站点的属性编辑窗口,在其中输入站点名称和公交站点编号。
字段 OBJECTID 是关键字段,是自动生成的不需要输入。
在图层列表控件面板(TOC)中,点击“数据源”选项页,切换到数据源视图下,右键选择属性表-“公交线路”,在出现的菜单中,选择“打开”命令,将会显示“公交线路”的属性编辑窗口。按下图所示输入几条公交线路(公交站点编号、公交线路)。
点击“编辑器”工具栏中的“编辑器”下拉菜单,选择“停止编辑”命令,将以上所作的编辑结果保存。
点击属性查询按钮,查询地图显示区中任意公交站点的属性,可以看到经过公交站-
“云南大学”的公交线路有 3 条,可进一步查询每条公交线路的详细数据。
第 7 步 导入 GPS 数据,生成图层
各类手持 GPS 接收机采集到的数据可以通过相关软件(比如 MapSource 等)导入到
ArcMap 中。
GPS 数据文件
启动ArcMap,切换到数据源视图。点击按钮 添加GPS数据,选择对应的GPS数据文件(可以是.txt格式、dBase等格式),这里GPS数据文件为:澜沧江GPS.txt
选中要添加的 GPS 数据文件
根据 GPS 数据生成图层:
执行菜单命令:[工具] >>[添加 XY 数据],在“添加 XY 数据”窗口中,选择已添加的
XY 数据表,指定 X 坐标字段(东经)和 Y 坐标字段(北纬),按“编辑”按钮,选择坐标系统。一般 GPS 系统采用的坐标系统为 WGS_1984。
确定后,在地图显示区域中,就会根据 GPS 数据文件中采集的坐标信息创建点状的事件图层。
在图层控制面板(TOC)中,右键选中根据 GPS 数据文件生成的事件图层。在出现的菜单中,执行[数据]>>[导出数据]命令:
在导出数据对话框中,指定要导出的文件名称及存储位置。这样就完成了由 GPS 数据文件生成图层的过程。
四、实验报告要求
实验报告应包括以下内容:
阐述基本原理和概念(要素类、要素数据集)
Geodatabse 空间数据库模型的特点。
1:M 空间查询的实现原理及应用实例。
比较连接(Join)和关联(Link)关系的区别和应用。
第二部分 空间数据处理
一、实验目的
三、实验内容及步骤
空间数据处理
步骤:
将所实验需要的数据解压到 某个目录,如e:\gisdata,
设定工作区:在 ArcMap 中 执行菜单命令:<工具>-><选项>,在“空间处理”选项页里,点击“环境变量”按钮,在环境变量对话框中的常规设置选项中,设定“临时工作空间”为 e:\gisdata
第 1 步 裁剪要素
在ArcMap中,添数据:云南县界.shp,添加数据:Clip.shp (Clip 中有四个要素)
激活Clip图层。选中Clip图层中的一个要素,注意确保不要选中“云南县界”中的要素!指定输出要素类路径及名称,这里请命名
为“云南县界_Clip1”
指定输入类:云南县界
指定剪切要素:Clip(必须是多边形要素)
依次选中 Clip 主题中其它三个要素,重复以上的操作步骤, 完成操作后将得到共四个图层(“云南县界_Clip1” , “云南县界_Clip2”,“云南县界_Clip3”,“云南县界_Clip4”
)。
第 2 步 拼接图层
在ArcMap中新建地图文档,加载你在剪切要素操作中得到的 四个图层
打开ArcToolbox
在ArcToolbox中执行“追加”命令 输出要素:设定为 云南县界_Clip1, 输入要素:依次添加其它三个图层右键点击图层“云南县界_Clip1”,在出现的右键菜单中执行“数据”->”导出数据” 指定导入数据的路径和名称:YNOK.shp
通过以上操作我们就完成了将4个图层拼接为一个图层的处理。
新建一地图文档,加载数据 YNOK.shp,查看图层及打开其属性表看看与“云南县界”中的属性表有何区别?
第 3 步 要素融合
在拼接图层的基础上继续
执行“融合”命令
输入要素:指定为YNOK
融合字段:选择为“所属州”,将根据这个字段的值对要素进行融合,YNOK 图层中
“所属州”相同的要素将合并成一个要素
以上操作,根据指定字段的值,对现有图层中的要素进行融合,产生新的图层――
YNOK_Dissovle,打开并查看其属性表
类似地,重复以上过程,并将融合字段指定为:CHINESE ,看看结果有何不同?
第 4 步 图层合并
在 ArcMap 中新建一个地图文档,加载数据:西双版纳森林覆盖.shp 和 西双版纳县
界.shp
调整图层顺序,将西双版纳县界置于下方
打开ArcToolbox,在ArcToolbox执行“联合”命令
在联合对话框中输入要素:依次添加 “西双版纳森林覆盖”“西双版纳县界”两个图层 输出要素类:设置为 Union.shp
查看输出要素类:Union的的属性表,并检查属性 “Type”,其中为“Y”的表示有植被覆盖的区域,右键点击图层Union,修改属性->符号 (设置为唯一值图例,字段设置为TYPE)
思考题:勐海县的总面积是多少平方公里?其中有森林覆盖的区域面积是多少?没有森林覆盖的区域面积是多少?
第 5 步 图层相交
在图层合并练习的基础上继续
在ArcToolbox中,执行“相交”命令
在“相交对话框”中输入要素:依次添加 “西双版纳森林覆盖”“西双版纳县界”两个图层 输出要素类:设置为 Intersect.shp
查看 输出要素类 InterSect,并与“西双版纳森林覆盖”及“图层合并”操作所得结果――
“Union”进行比较,并进一步思考这类操作适合求解哪一些现实问题?
定义地图投影
第 6 步 定义投影
(1) 在ArcMap中新建地图文档,添加第4步成生成的图层:Union.shp
(2) 在 TOC 中,右键点击图层“Union”,查看属性,在属性对话框中,点击“源”选项页,查看这图层是什么坐标系
(3) 打开ArcToolbox,执行命令“定义投影”命令
在定义投影对话框中,选择要素类:Union,点击坐标系输入框右边的按钮,
在出现的“空间参考属性”对话框中,选择一个地理坐标系,GCS_BEJING_1954
(注意:前提是我们已知道图层 Union 是使用北京 1954 地理坐标系)
点击“选择按钮”,从预定义的坐标系中选择(坐标系统\Geographic Coordinate
Systems\Asia\Beijing 1954.prj)
(4) 在 TOC 中,右键点击图层“Union”,查看属性,在属性对话框中,点
击“源”选项页,查看这个图层的坐标系是否已经被指定为“北京 1954 地理坐标系”
第 7 步 投影变换――地理坐标系->北京 1954 坐标系转换->西安 80 坐标系
(1) 在第6步的基础上进行
(2) 打开ArcToolbox,执行命令“定义投影”命令
(3) 在“投影”对话框中,依次设定输入要素类为――Union,输出要素类 为 ― ―Union_PRJ_BJ54.shp, 输 出 坐 标 系 选 择 为 ― ―
“BEJING_1954_GK_ZONE_17N” 从预定义的坐标系中选择(坐标系统\Projected Coordinate Systems\Gauss Kruger\Beijing 1954\Beijing 1954 GK Zone 17N.prj)
(4) 确定后,完成由地理坐标系 GCS_BEJING_1954 到 投影坐标系
BEJING_1954_GK_ZONE_17N 的变换。
(5) 请 参 照 以 上 过 程 , 完 成 由 投 影 坐 标 系 -
BEJING_1954_GK_ZONE_17N 到地理坐标系的变换。
回答问题:
(1) 请 解 释 “BEJING_1954_GK_ZONE_17N” 的 含 义 , 以 及 它 和
“BEJING_1954_GK_ZONE_17”的差别?
(2) 已知一个点要素类的空间坐标系统为 Xian_1980_GK_CM_123E,UNIT 为米。某个点的坐标值为(330000,3460000),请解释该坐标值的含义。如空间坐标系统转换为
Xian_1980_GK_Zone_ 21,请写出该点转换后的坐标值。Xian_1980_GK_CM_123E 的每一个
参数的具体含义是什么?
(3)ArcGIS 中坐标系统有如下命名方式,请说明他们的含义。
西安 80 坐标系统文件命名方式下面四种:
Xian 1980 3 Degree GK CM 117E.prj
Xian 1980 3 Degree GK Zone 39.prj
Xian 1980 GK CM 117E.prj
Xian 1980 GK Zone 20.prj
Beijing 1954 坐标系统,我们可以看到四种不同的命名方式:
Beijing 1954 3 Degree GK CM 117E.prj
Beijing 1954 3 Degree GK Zone 39.prj
Beijing 1954 GK Zone 20.prj
Beijing 1954 GK Zone 20N.prj
四、实验报告要求
实验报告请按照学校教务实验报告模版来编写,包括原理、过程、结果及体会等。并在实验报告中回答实验过程中的相关问题,如回答第 4 步中的问题―――没有森林覆盖的区域面积是多少?说明原理并给出结果。
提示:
面积单位是什么?如何转换成平方公里?
(1)基于第 4 步的结果,
用图层相减功能求出没有植被的区域,得到一个图层,检查此图层的坐标系是否已是投影坐标系(地图单位是米?),如果不是则将其转换为投影坐标系
(2)查找 ArcMap 中的联机帮助,以了解如何计算多边形的面积
提示:用字段计算器
第三部分 空间分析基本操作
一、实验目的
空间分析实际上是一个地理建模过程,它涉及:问题的确定、使用哪些空间分析操作、评价数据、以合适的次序执行一系列的空间分析操作、显示及评价分析结果。
实验数据:
实 验 数 据 包 括 :Slope1( 栅 格 数 据 ),Landuse ( 栅 格 数 据 ),
landuse92,r5yield,emidalat
街道图层 AIOStreets 和城市地籍图层:AIOZonecov 气温.shp,YNBoundary.shp (云南省的边界)
下载地址 http://www.geo-spatial.net/csk/upload/arcgis/ex5/ex5.rar 三、实验内容及步骤
空间分析模块
本章的大部分练习都会用到空间分析扩展模块,要使用“空间分析模块”首先在ArcMap
中执行菜单命令<工具>-<扩展>,在扩展模块管理窗口中, 将“空间分析”前的检查框打勾。
然后,在 ArcMap 工具栏的空白区域点右键,在出现的右键菜单中找到“空间分析”项,点击该项,在 ArcMap 中显示“空间分析”工具栏。
执行“空间分析”工具栏中的菜单命令<空间分析>-<选项>设定与空间分析操作有关的一些参数。这里请在常规选项中设定一个工作目录。因为在空间分析的过程种会产生一些中间结果,默认的情况下这些数据会存储在 Windows 系统的临时路径下(C:\temp),当设置了工作目录后,这些中间结果就会保存在指定的路径下。
空间分析工具栏
新建 ArcMap 地图文档:加载离散栅格数据:Landuse,在 TOC 中右键点击 Landuse ,
“打开属性表”
查看字段“Count”可以看到每种地类所占栅格单元的数目
2. 用任意多边形剪切栅格数据(矢量数据转换为栅格数据)
在 ArcCatalog 下新建一个要素类(要素类型为:多边形),命名为:ClipPoly.shp 在 ArcMap 中,加载栅格数据:Landuse、和 ClipPoly.shp
打开 编辑器 工具栏,开始编辑 ClipPoly ,根据要剪切的区域,绘制一个任意形状的多边形。打开属性表,修改多边形的字段“ID”的值为 1,保存修改,停止编辑。
打开 空间分析 工具栏 执行命令:<空间分析>-<转换>–<要素到栅格>
指定栅格大小:查询要剪切的栅格图层 Landuse 的栅格大小,这里指定为 25
指定输出栅格的名称为路径
执行命令: <空间分析>-<栅格计算器>
构造表达式:[Landuse]*[polyClip4-polyclip4] ,执行 栅格图层:Landuse 和 用以剪切的栅格 polyClip4 之间的 相乘运算
得到的结果即是以任意多边形剪切的 Landuse 数据
将坡度栅格重新分为 5 类:0 – 8 、8 – 15 、15 – 25 、25 – 35、 35 度以上。
在 ArcToolbox 中,执行-下的“面积制表”工具
按上图所示,指定分区数据和输入栅格数据
打开得到的交叉面积数据表,观查其中的记录,理解本操作的意义是什么?
打开 ArcToolbox,执行-下的“区域统计到表”分析工具,按上图所示指定参数,确认后得到如下一个数据表:
仔细研究上面的数据表,理解本操作的意义是什么?
点击上面数据表中的[选项]按钮,执行“创建图形…”命令
根据向导提示,设定参数,生成不同粮食产区土壤有机质含量(平均值)的统计图表
从统计图中可以看出,产量最低区有较低的有机质含量,中产区有机质含量较高,这表明较高的有机质含量会带来较高的产量。最高产量区有机质含量较低可能是其他因素的影响。
在左边栏中,目录列表框中,选择“工具”
在右边栏中,命令列表框中,选择“缓冲区向导” 拖放“缓冲区向导”图标到菜单<工具>中,或者拖放到一个已存在的工具栏上。
关闭“定制”对话框
创建街道的线状缓冲区
新建地图文档,加载街道图层 AIOStreets 和城市地籍图层:AIOZonecov (地图单位为:米)
执行菜单命令:<选择>-<通过属性选择>
构造表达式:[STR_NAME]=’CYPRESS’ ,从图层 AIOStrees 中,选择街道名称为
CYPRESS 的街道
执行“工具”菜单中的“缓冲区向导”命令,或点击“缓冲区向导”图标,打开缓冲区向导对话框:
通过缓冲区向导,建立所选择街道的 50 米缓冲区(一个多边形图层)
得到沿街道“CYPRESS”的 50 米缓冲区
8. 空间关系查询
Select By Location:根据位置选择
在上一步的基础上进行,找出与 街道“CYPRESS”的 50 米缓冲区相交的地块。
数据:气温.shp 中有两个字段 Y01 Y02 记录的是 16 个气象观测站,2001 年和 2002 年的年平均气温,下面要通过空间内插的方法将点上的数据扩展到连续的空间上,得到气温空间分布图。 YNBoundary.shp 是云南省的边界
新建地图文档,加载图层:气温.shp 、YNBoundary, 打开“空间分析”工具栏,执行菜单命令<空间分析>-<内插成栅格>-<样条>
在样条函数内插对话框中,按下图所示指定参数 确定后,得到如下的气温空间分布图(通过修改图例得到相同的效果)
2001 年平均气温样条函数空间内插
参考以上操作,生成 2002 年的平均气温空间分布图:
2002 年平均气温样条函数空间内插
执行菜单命令<空间分析>-<选项>,通过设置 相关选项和参数,重新进行空间插值,得到如下的结果(用“距离权重倒数”内插方法)
2001、2002 年间平均气温空间内插
11. 邻域统计(Neighborhood)
邻域分析也称为窗口分析,主要应用于栅格数据模型。地理要素在空间上存在着一定的关联性。对于栅格数据所描述的某项地学要素,其中的(I,J)栅格往往会影响其周围栅格的属性特征。准确而有效地反映这种事物空间上联系的特点,是计算机地学分析的重要任务。窗口分析是指对于栅格数据系统中的一个、多个栅格点或全部数据,开辟一个有固定分析半径的分析窗口,并在该窗口内进行诸如极值、均值等一系列统计计算,从而实现栅格数据有效的水平方向扩展分析。
支持的几种分析窗口类型:
ArcMap 中,邻域统计功能所支持的各类算子
多数(Majority)
最大值(Maximum )
均值(Mean )
中值(Median )
最小值(Minimum )
少数(Minority )
范围(Range )
标准差(Standard Deviation )
总数(Sum )
变异度(Variety )
高通量(High Pass )
低通量(Low Pass )
焦点流(Focal Flow)
原始栅格 (总数 Sum) 邻域统计栅格
在 ArcMap 中新建地图文档,加载栅格数据:emidalat, 打开“空间分析”工具栏,执行
“邻域统计”命令,按如下所示指定参数,
将得到一个经过邻域运算操作后的栅格:NbrMean of emidalat ,这是以 3×3 的格网,对 emidalat 栅格中的单元运用“均值”(Mean)算子进行邻域运算后得到的结果。
通过设置图例,使图层:NbrMean of emidalat 和 emidalat 有如下的效果,将地图适当放大,并在 TOC 面板中通过交替进行打开和关闭图层 NbrMean of emidalat 的操作,观察
NbrMean of emidalat 和原始栅格间的差别。
四、实验报告要求
做出书面报告,包括原理、过程和结果。