空间数据及属性数据管理实验报告
成都信息工程学院资源环境学院
《GIS 原理》实验报告
实验名称 实验时间 实验地点
空间数据及属性数据管理
2015.4.9 资环楼229
姓 名 学 号 班 级
遥感
131
《GIS 原理》实验报告
一、实验目的及要求
1)熟悉 Excel 文件或 Txt 文件生成点图层的方法; 2)熟悉 ArcGis 属性数据编辑的基本方法; 3)熟悉 ArcGis 属性数据连接、关联的基本操作; 4)熟悉 ArcGis 属性表字段计算器的使用。
二、实验设备及软件平台
ArcCatalog 10.0、ArcMap 10.0
三、实验原理
1)可把表格中的点导入ArcMap 10.0中,再导出生成shp 文件;
2)ArcCatalog 10.0中在文件地理数据库中可对shp 文件的属性进行修改,如编辑字段等;
3)ArcMap 10.0中可对数据的属性表进行连接和关联等,并可进行字段运算等。
四、实验内容与步骤
1 将 Excel 文件或 Text 文件生成点图层 File->Add data->Add XY data
导出数据,设置为文件名“MeteStation.shp ” 右击数据->Data->Export data
2 输入 Geodatabase 要素类型的属性数据
1)启动ArcCatalog ,点击连接实验数据。首先,创建一个文件地理数据库 File geodatabase 。在目录树里,将 geodatabase 重命名为Station.gdb 。
2)定义属性域
现在为 geodatabase 创建一个定义域。从Station.gdb 快捷菜单选择属性Properties ,出现属性域The Database Properties对话框。点击属性域名称 Domain Name 下的第一行,输入typecode ;点击字段类型Field Type,选中短整型short Integer ;将属性域属性中的属性域类型 Domain Type设置为编码值Coded Values,将在编码值列表中编码Code 下面的第一个空行并输入 10,点击描述 Description 下的空字段,输入“自动站”。依次在下面输入 20、30,在描述里依次输入“区域站”、“基准站”。点击“应用 Apply ”。同理,设置属性域名为ElementsLimit ,范围域设置为 2-10(最大值设置为 10,最小值设为 2)。
3)点击Station.gdb ,指向导入 Import ,选择要素类(单个)Feature Class(single),并将MeteStation.shp (3.1中已产生的数据)导入。
4)将属性域和要素类相关联
为为MeteStation 新增段一个属性字段 Type 字段,设置默认值,并与属性域typecode 关联。点击Station.gdb 中的MeteStation 并选择属性 Properties 。在字段Fields 栏的字段名称Field Name 下面点击第一个空白行,输入Type 。点击 Type 旁边的象元,在字段属性中的属性域选中typecode (已定义的属性域)。点击应用和确定,退出属性对话框。同上,为文件数据库Station.gdb 中的MeteStation 新增一个属性字段 Elements 字段,设置默认值,并与属性域ElementsLimit 关联。
5)启动 ArcMap ,重命名数据帧为“任务 2”,并添加Station.gdb 中的MeteStation 到新的数据帧中。打开MeteStation 的属性表。
6)单击编辑器 Editor ,选择开始编辑 start Editing 。就可以输入Type 和 Elements 的值。
7)当你完成 Type 和 Elements 值的输入后,选择停止编辑StopEditing 保存编辑。 3 连接表格
1)在 ArcMap 中插入一个新的数据帧(通过“插入 Insert ”菜单中的“数据框DataFrame ”功能),命名为“任务 3”,把添加Station.gdb 中的
MeteStation
和 Obs022808.DBF 加入任务 3 中。
2)打开MeteStation 和Obs022808属性表。在两个表中必须有连接的主关键字。
3)现在,把 Obs022808 合并到MeteStation 的属性表中。右击MeteStation ,单击连接和关联 Joins and Relates,选择连接Join 。在出现的Join Data对话框的上部,选择从一个表的属性进行合并。然后,从第一个下拉表中选择StationNo ,第二个下拉表中选择Obs022808,第三个下拉表中选择StationNo 。单击确定 OK 。进行表格合并。单击是为合并字段生成一个索引。
再打开MeteStation 的属性表来查看扩展的表,新的属性已加在MeteStation 的属性表中。
4 关联表格
1)从ArcMap 的插入Insert 菜单中选择数据框Data Frame,重命名为“任务 4 ”,并把MeteStation 、 Obs022708.DBF 和Obs022714.DBF 加入任务 4。
2)检查关联表格中可用的关键字。字段StationNo 必须出现在MeteStation 的属性表、Obs022708 和 Obs022714 中。
3)第一个关联是建立在MeteStation 和 Obs022708 之间。右击MeteStation ,指向关联和连接 Joins and Relates。选择“关联Relate ”;在出现的Relate 对话框中,选择第一个下拉表中的StationNo ,第二个下拉列表中 Obs022708,第三个下拉列表中的StationNo ;输入 Relate1 为关联名。
4)第二个关联是建立在 Obs022708 和 Obs022714 之间。右击Obs022708,指向关联和连接 Joins and Relates,选择关联 Relate ;在出现的 Relate 对话框中,选择第一个下拉表中的StationNo ,第二个下拉列表中 Obs022714,第三个下拉列表中的StationNo ;输入Relate2 为关联名。
5)现在,三个表格已经关联起来,右击 Obs022708,选择打开Open ,单击选择项 Options 下拉菜单并选择按属性选择 Select byAttributes; 在出现的下一个对话框中,输入下面的 SQL 表达式"T2708"
6)通过以下步骤查看MeteStation 属性表中哪些记录与Obs022708 中选择的记录相关联。单击 Obs022708 表中 Options 的下拉菜单,指向关联表 Related Tables 。单击 Relate :MeteStation 。MeteStation 属性表显示出被关联的记录。
7) 应用与步骤 6 相同的操作,查看 Obs022714 中的那些记录与MeteStation 中那些被选择的气象站点信息相关联。
5 由数据计算生成新的属性数据
1)从ArcMap 的插入Insert 菜单中选择数据框Data Frame,重命名为“任务 5”并把MeteStation 、Obs022708.DBF 和 Obs022714.DBF 加入任务 5。
2)单击“添加字段 Add Field ”工具,选择MeteStation 的属性表作为输入表格,输入如AvgT (平均温度)作为字段名,选择双精度作为字段类型。
3)将MeteStation 与 Obs022708.DBF 、Obs022714.DBF 连接(步骤同前)
4)打开MeteStation 的属性表,表格中出现了新字段AvgT ,右击AvgT 选择字段计算器。在公示栏中输入以下表达式计算平均温度([Obs022708.T2708] + [Obs022714.T2714]) / 2 (字段名可直接点击字段列表)。
5)得到计算结果。
6)移除连接
点击MeteStation 图层快捷菜单中的连接和关联 Joins and Relates,移除所有连接。
移除前:
移除后:
五、实验结果与数据分析
1 将 Excel 文件或 Text 文件生成点图层
2 输入 Geodatabase 要素类型的属性数据
3 连接表格
4 关联表格
5 由数据计算生成新的属性数据
六、思考及讨论
问题1:用自己的语言描述第六步输入属性数据时,编码域值如何确保输入属性数据的准确性?
答:当使用编码域值时,我们需要自行设置相应的编码及描述,而在属性表中相应字段输入属性数据是只能在之前设置的编码描述中进行选择,这样在一定程度上保证了输入属性数据的准确性。
问题2:关联和连接表格有什么区别?
答:Relat 实现两个表连接后,外观任然是两个独立的表,一个表的记录进入选择集时,另一个表中的记录也同步进入选择集。分别显示在各自的窗口中。join 实现两个表连接后,被连接的表合并到结果集中,结果表的字段得到扩展,表的显示比较紧凑、简洁,查询操作也较简单。
问题3:以上5-3)使用关联是否能达到此目的?
答:不能!因为关联后的表并不能把所有字段合并到一个表中,首先它无法得到连接的显示效果,其次它没法进行后面的字段计算
(计算涉及到的字段都得
在同一张表中)。