地理信息系统实验2实验三.docx
《地理信息系统实验2实验三.docx》由会员分享,可在线阅读,更多相关《地理信息系统实验2实验三.docx(19页珍藏版)》请在冰豆网上搜索。
![地理信息系统实验2实验三.docx](https://file1.bdocx.com/fileroot1/2022-12/12/afdf7468-a5fb-4e9c-853b-6ab21bb5baff/afdf7468-a5fb-4e9c-853b-6ab21bb5baff1.gif)
地理信息系统实验2实验三
实验三:
空间数据库的建立、运行(2学时)
创建了空间数据库后,需要确定地图的分层与分幅:
GIS是以图层的方式管理地图的,将点、线、面等地理实体按其性质的不同分别归入不同的图层进行分层管理是GIS管理空间数据的基本方式。
本实验建立的数据库及要素集和要素类将为后面的实验做准备。
分层及代码示例:
地理要素分层及代码表示例
项目
层名
包括的要素
代码
等高线层
terlk
计曲线
首曲线
高程点
201
202
103
线状水系层
wtlpt
现状表示的河流
301
面状水系层
wtlnt
面状表示的河流(封闭)
湖泊(封闭)
302
303
一、创建新Shapefile
当创建一个新的shapefile时,必须定义它将包含的要素类型,Shapefile创建之后,这个类型不能被修改。
如果选择了以后定义shapefile的坐标系统,那么直到被定义前,它将被定义为“Unkown”。
创建一个新的shapefile文件的具体过程如下:
(1)在ArcCatalog目录树中,右键单击需要创建Shapefile的文件夹,单击New,再单击Shapefile,如图所示
(2)打开CreateNewShapefile对话框,设置文件名称和要素类型。
要素类型可以通过下拉菜单选择Polyline、Polygon、MultiPoint、MultiPatch等要素类型。
如图所示。
(3)单击编辑按钮,定义Shapefile的坐标系统,打开SpatialReference对话框,如图所示。
(4)单击Select按钮,可以选择一种预定义的坐标系统;单击Import按钮,可以选择想要复制其坐标系统的数据源;单击New按钮,可以定义一个新的、自定义的坐标系统。
(5)如果Shapefile要存储表示路线的折线,那么要复选CoordinateswillcontainMValues,如果Shapefile将存储三维要素,那么要复选CoordinateswillcontainZValues。
(6)单击OK按钮,新的Shapefile在文件夹中出现。
二、Geodatabase数据库创建
借助ArcCatalog可以建立两种地理数据库:
本地个人地理数据库(PersonalGeodatabase)和ArcSDE地理数据库。
个人地理数据库可以直接在ArcCatalog环境中建立,而ArcSDE地理数据库必须首先在网络服务器上安装数据库管理系统(DBMS)和ArcSDE,然后建立从ArcCatalog到ArcSDE地理数据库的一个连接。
1、建立persornaldatabase
⏹在创建的地理数据库之间要完成数据库的概念设计,每一个图层对应一个数据表,在ArcCatalog中“要素类”(FeatureClass)的概念与之对应。
可以将多个要素类组织成为一个“要素集”(FeatureDataSet),在同一个要素集中的要素类都具有相同的地理参考(坐标系相同)。
⏹在ArcCatalog的目录树中,定位到E:
盘,右键点击这E:
盘,在出现的菜单中,选择<新建>-<文件夹>,文件夹名称改为myGeoDB。
右键选中这个文件夹,在出现的菜单中,点击<新建>-<个人Geodatabase>,这时会创建一个名称为“新建个人Geodatabase.mdb”的数据库文件,将之改名为:
“Yunnan”。
2、建立要素集
⏹右键点击数据库文件“Yunan.mdb”,在出现的菜单中,选择<新建>-<要素集>
⏹在出现的对话框中输入要素集的名称、点击按钮“编辑”为其指定一个坐标系
在这里,我们设定坐标系为:
GCS_WGS_1984(即GeographicCoordinateSystem->World->WGS1984.prj),这是一种被GPS采用的地理坐标系。
3、建立要素类
要素类分为简单要素类和独立要素类。
简单要素类存放在要素数据集中,不需要定义空间参考,要素类将使用要素数据集的坐标;独立要素类存放在数据库中的要素数据集之外,必须定义空间参考坐标。
(1)建立一个简单要素类
⏹右键点击新建的要素集-Kunming,在出现的菜单中选择<新建>-<要素类>,在出现的对话框中输入要素类的名称-公交站点,点击<下一步>,再次点击<下一步>按钮。
在出现的对框中选择“Shape”字段,修改字段的几何类型为“点”(表示此要素类中将要存储的要素类型是点要素,我们准备用来存储公交站点)
注意到,要素类的空间参考也被默认地设置为GCS_WGS_1984,与要素集中指定的坐标系相同。
在出当前的对话框中,我们新加两个字段“站点名称”、“公交站点编号”,数据类型都设置为“Text”.点击“完成”按钮。
⏹这样我们就完成了要素类的定义。
可以将这个要素类(图层)加入的ArcMap中,进行数字化的工作,从背景地图中提取公交站点的位置。
⏹新建数据表:
右键点击地理数据库-Yunnan.mdb,在出现的菜单中,选择<新建>-<表>,输入表名称:
公交线路,点<下一步>,再次点<下一步>,在对话框中,新添加两个字段“公交站点编号”、“公交线路”(数据类型都设为Text)
点击“完成”,结束属性表的定义。
⏹创建公交站点到公交线路一对多的关系(1:
M):
右键选择地理数据库-Yunnan.mdb,在出现的菜单中选择<新建>-<关系类>,对以下内容进行设定,其它设置接受默认选项即可。
指定源表和目标表
选择关系类型为一对多关系,这样可以建立公交站点到公交线路一对多的关系,因为经过一个公交站点的公交线路有多条,这样,在我们从公交站点分布图是查询某个公交站点时就可以查询经过这个站点的所有公交线。
设定主键和外键,点击下一步,直到完成关系类的定义。
⏹以上步骤完成后,ArcCatalog中就可以看到,在地理数据库Yunana.mdb中,有一个要素集(Kunming),其中包含一个要素类(公交站点)、一个数据表(公交线路)、一个关系类(公交站及公交线1:
M)
(2)建立一个独立要素类
独立要素类就是在地理数据库中不属于任何要素数据集的要素类,其建立方法与在要素数据集中建立简单要素类相似。
只是独立要素类需要建立自己的空间参考坐标系统,并设定自己的投影系统参数和X/Y域。
1)在ArcCatalog目录树中,在需要建立独立要素类的地理数据库上单击右键,单击
New,选择FeatureClass命令。
2)其余过程与建立简单要素类相同,直到进入定义要素类几何字段属性对话框,单击SpatialReference属性按钮,打开SpatialReference属性对话框,即可建立自己的空间参考坐标系统和X/Y域。
点击“X/Y域”选项页,在该选项页下为我们的数据定义存储的空间范围。
该空间范围需要认真考虑,不仅要考虑你当前的纸制地图的空间范围,还要考虑到将来工作中还会出现的最大的空间范围。
为确定这个区域XY(最小值),XY(最大值),可以切换到ArcMap中,点击“绘制”工具栏上的“矩形框”按钮,在地图显示区中画一个矩形,使区在更大范围内包含已配准的栅格地图。
右键选中这个矩形框,设置“属性”,将填充色设置为“无”,可得到如下的效果:
在矩形框属性的“大小和位置”选项页中,可获取矩形框左下角和右上角的坐标(X,Y),将这里获取的X,Y值分别填入到上面“空间参考属性”对话框的“X/Y域”选项页“最小X”、“最小Y”、“最大X”、“最大Y”输入框中
通过上面的操作我们为创建的要素类定义了正确的坐标系统和空间范围
3)单击完成按钮。
当在数据库中创建了要素类后,可以将数据库中的要素类直接拖到ArcMap的内容表
中,并在图形窗口通过Editor来建立新要素,并进行属性编辑。
4、向地理数据库加载数据
地理数据库中支持Shapefile、Coverage、INFO表和dBASE表,如果已有数据不是上述几种格式,可以用ArcToolbox中的工具进行数据格式的转换,再加载到地理数据库中。
1.导入数据
⏹右键点击数据库文件“Yunan.mdb”,在出现的菜单中,选择<导入>-<要素类multiple>,在出现的对话框中,打开要导入要素:
云南县界prj.shp/云南县城prj.shp/云南道路prj.shp(这些文件在Exece2文件夹下,按住Shift键并点击鼠标可同时选择多个Shape文件)
⏹确定后可以看到这三个图层已经被导入到数据库Yunan.mdb中
(2)导入栅格数据
向地理数据库中导入栅格数据有两种方式:
一是导入到地理数据库中作为栅格数据集存储;二是导入到地理数据库中已经存在的栅格数据集中。
1)在ArcCatalog树中,右击想导入栅格数据的地理数据库,单击Import,单击RasterDatasets。
2)打开RasterT0Geodatabase(multiple)对话框,如图所示。
添加想要导入的多个栅格数据,单击OK按钮。
若在第一步中单击RasterDatasets(mosaic)命令,打开Mosaic对话框,如图所示。
添加想要导入的多个栅格数据,输入地理数据库中已经存在的栅格数据集的路径,单击OK按钮。
2.载入数据
数据载入不同于数据导入。
当在数据库中创建了基本的项目之后,即在数据库中建立了要素集、要素类和表后,可以利用数据载入工具,将Shapefile和Coverage要素载入到地理数据库的要素类中,将dBASE数据表和INFO属性表载入到地理数据库表中。
(1)在ArcCatalog树中,右键单击要载入数据库的要素类或表,单击Load,单击Loaddata。
出现SimpleDataLoader对话框,如图所示。
(2)单击下一步按钮,打开输入数据对话框,如图所示。
浏览并找到要输入的要素类和表,单击Add,增加要素类和表到源数据列表中。
(3)单击下一步按钮,打开确定装载数据的目标地理数据库对话框,如图所示。
(4)单击下一步按钮,打开源字段匹配到目标字段对话框,如图所示。
在MatchingSourceField窗口中选择同目标字段匹配的源数据的字段。
如果不想让源数据字段的数据装载到目标字段,在MatchingSourceField窗口中选择None。
(5)单击下一步按钮,打开确定装载源数据对话框。
如果需要装载所有的源数据,选择第一个选项;如果需要用属性查询来限制源数据的要素装载到目标数据库,选择第二个选项。
如图。
如果选择第二个选项,单击QueryBuilder按钮,打开QueryData对话框,如图所示。
用QueryBuilder建立查询,限制装入到目标数据库中源数据的要素或行。
(6)单击OK按钮,返回确定装载源数据对话框,单击下一步按钮,打开参数总结信息框。
单击Finish按钮,完成把选择的数据装载到数据库。
(7)单击下一步按钮,打开参数总结信息框。
单击Finish按钮。
5、复制地理数据库数据
可以在地理数据库之间直接移动和复制数据。
在ArcCatalog树中,右击要复制的数据集、要素类或表,单击Copy,右击目标地理数据库,单击Paste即可。
三、添加和删除属性
在ArcCatalog中,可通过添加、删除属性项来修改Shapefile、要素类等的结构。
可以添加新的具有合适名称和数据类型的属性项。
Shapefile文件的FID和Shape列以及dBASE表的OID列不能删除。
OID列是ArcGIS在访问dBASE表内容时生成的一个虚拟属性项,它保证了表中每个纪录至少有一个唯一的值。
Shapefile文件和dBASE表除FID、Shape和OID列以外,至少还要有一个属性项,该属性项是可以删除的。
在添加属性项之后,必须启动ArcMap的编辑功能才能定义这些属性项的数值。
1.在ArcCatalog目录树中,右键单击需要修改属性的Shapefile或要素类,单击Properties,单击字段标签,如图所示。
2.在FiledName列中,输入新属性项的名称,在DtatType列中选择新属性项的数据类型。
在下方的FieldProperties选项卡显示了所选数据类型的特性参数,可在其中输入合适的数据类型参数。
单击确定按钮,完成属性项的添加。
3.在上述对话框中,选中需要删除的属性项,在键盘上按Delete键,删除所选属性项,单击确定按钮,完成属性项删除。
在图层控制面板(TOC)中,右键选中根据GPS数据文件生成的事件图层。
在出现的菜单中,执行“数据”->“导出数据”命令:
在导出数据对话框中,指定要导出的文件名称及存储位置。
这样就完成了由GPS数据文件生成图层的过程。