地信基础实验报告2 城环07地信 王若柔 07508138
实 验 报 告
实验名称:_ 矢量数据的输入与编辑____ 任课教师:__刘百桥 _
专业班级: 07级 (地信专业)_ 姓名:王若柔 学号:07508138
完成日期:2009.4.2 成绩:_________
一、实验目的:
本实验旨在引导学生建立对地理信息系统的感性认识,认识简单、常用的地理信息系统软件,了解地理信息系统的数据输入和编辑功能,增进学生对空间数据矢量模型的理解。本实验的教学要点主要是让学生在地理信息系统平台上完成点、线、面空间数据采集和编辑方面的基本操作。
二、实验仪器及主要设备:
(1)硬件:计算机;
(2)软件:地理信息系统应用软件(ArcGIS)
(3)实验资料:每人一套数字栅格地图。
三、实验内容及步骤
从给定地图图像中提取快速轨道交通线路、车站、水系、绿地与居住区等信息。实验内容包括:
(1)点状地物(如车站等)的输入与编辑;
(2)线状地物(如交通线路)的输入与编辑;
(3)多边形地物(如水面)的输入与编辑;
(4)矢量数据拓扑关系处理
四、实验要求
(1)完成本实验规定的矢量数据输入与编辑的全部流程;
(2)把设计并实现的流程和步骤记载入实验报告;
(3)完成全部实验内容,保存矢量数据文件;
(4)下一个实验开始前前提交实验报告。
五、教师评价
(1)是否完成矢量数据输入与编辑 A.优 B.良 C.中 D.差
(2)地理信息提取质量如何; A.优 B.良 C.中 D.差
(3)流程设计是否科学、正确; A.优 B.良 C.中 D.差
(4)流程记载是否具体; A.优 B.良 C.中 D.差
(5)流程记载是否认真; A.优 B.良 C.中 D.差
(6)实验是否按期完成。 A.优 B.良 C.中 D.差
实验记载
1、 实验设计:
利用提供的数字栅格地图进行实验操作。使用ArcGIS软件进行矢量数据的输入与编辑。建立点,线,面要素,分别用来
示站点,交通线及水域。
具体做法为:导入底图(天津市交通图.tif ),即要获取数据的交通图,再进行矢量化输入,对已建立的点、线、面状要素的所有数据进行编辑,所有矢量数据输入完成后,建立拓扑关系,对所获得的数据进行查错,改错。
设计流程:
2、 实验过程:
1. 建立点、线、面文件
使用Arccatalog建立点、线、面文件。
注意: 建立点、线、面文件时,其投影的坐标系统应与底图坐标投影相一致。
1.1建立点:
1.1.1建点基本操作:
打开Arccatalog->选中要存储的位置->单击右键->选择New->选择shipfile->
输入名称(Name):站点;类型(Feature Type):点(point)
1.1.2编辑坐标系:点击Edit,进行对坐标的编辑->出现属性编辑窗口(Spatial Reference Properties)->进行投影选择(三种方式种方式)
【三种方式为:
(1)选择Select:选择现有的投影坐标系统。注意:此时,选择的文件类型应为投影坐标系统文件(coordinate systems)。
(2)选择Import:选择与现有文件相同的坐标系统。注意:此时,选择的文件类型应为地理数据文件(geographical datasets)。技巧:此时可选择底图文件,这样就一定能保证所建立的点与底图文件投影坐标一致。
(3)选择New:可新建坐标系统。】
->选择之后,点击应用,点击确定->此时,投影信息已显示在属性一栏中->点击OK
1.2 建立线:打开Arccatalog->选中要存储的位置单击->右键->选择New->选择shipfile->输入名称:交通线;类型:线(Polyline)->点击Edit,进行对坐标的编辑->出现属性编辑窗口(Spatial Reference Properties)->进行投影选择(三种方式种方式)->点击应用,点击确定->点击OK。
建立方法与建立点方法相似,只需把类型选择为“线”。
1.3建立面:打开Arccatalog->选中要存储的位置->单击右键->选择New->选择shipfile->输入名称:水域;类型:面(Polygon)->点击Edit,进行对坐标的编辑->出现属性编辑窗口(Spatial Reference Properties)->进行投影选择(三种方式种方式)->点击应用,点击确定->点击OK。
建立方法与建立点、线方法相似,只需把类型选择为“面”。
2.编辑点、线、面
2.1编辑过程:
(1)进入ArcGIS工作环境->建立新的地图文档->开始编辑。
(2)加载数据:单击工具栏上的 按键,选择需要加载的数据层(包括:天津快速交通图以及建立的车站、水域、交通线文件) 。
(3)打开编辑工具:单击工具栏上的 按键,出现Editor工具条。
(4)进入编辑状态:单击 Editor>Start Editor 命令,使数据层进入编辑状态。此时,Editor工具条不再显示灰色不可用状态。
(5)设置编辑环境:设置容差Editor->snapping。设置容差后,可减小误差,尽量避免悬挂节点的出现以增强信息准确度。
(6)执行数据编辑。在Task下拉框中选择当前编辑任务,并在Target Layer窗口确定编辑操作的目标数据层,然后选择编辑命令,对要素进行编辑。注意:在进行相关要素时,要选中要素—task-target要一一对应;
(7)结束数据编辑:单击Editor->Stop Editing 命令,选择是否保存编辑结果,结束编辑。(或Editor->Save Edits)注意:此步骤一定不能省略。如果直接对地图文件保存,而省去此步骤的话,编辑结果不会被自动保存。
点要素:
线要素:
面要素:
2.2编辑方法与技巧
2.2.1要素结点编辑操作
(1)添加结点
1)方法1:单击Task箭头,选择Modify Features(修改要素)选项,单击按钮,在图形窗口中选择需要添加结点的要素
方法2:不需要修改Task选项内容,直接在图形窗口中双击需要添加结点的要素
2)在需要添加结点的位置上单击右键,选择Insert Vertext命令,添加了一个结点。
(2) 删除结点
1)方法1:单击Task箭头,选择Modify Features(修改要素)选项,单击按钮,在图形窗口中选择需要删除结点的要素(线或多边形)。
方法2:不需要修改Task选项内容,直接在图形窗口中双击需要添加结点的要素。
2)方法1:在需要删除结点的位置上单击右键,选择Delete Vertext命令。
方法2:右键单击需要删除结点的要素->选择Properties->显示Properties对话框->显示结点坐标(单击某一坐标时,对应该坐标的结点会变成白色)->按住Shift键或Ctrl键选中多个结点,单击右键,选择Delete命令或直接按Delete键就可删除多个结点。删除结点后要素形状发生变化。
(3)移动结点
1)方法1:单击Task箭头,选择Modify Features选项,单击按钮,在图形窗口中选择需要移动结点的要素(线或多边形),在需要移动结点的位置上按住左键,并将结点拖放到新的位置后释放左键。
2)方法2:在需要移动结点的位置上单击右键->选择Move To命令->显示Move To窗口->输入要移动到的坐标->按Enter键->结点按照输入的坐标移动到新的位置。
3)方法3:在需要移动结点的位置上单击右键->选择Move命令->显示Move To窗口->输入坐标增量->按Enter键->结点按照输入的坐标增量移动到新的位置。
4)方法4:在图形窗口中选择需要移动结点进行拉伸的要素->选择Editor>Option命令->出现Editing Options对话框->单击General标签->进入General选项卡->选中Stretch geometry proportionately when moving a vertex复选框->单击确定按钮->完成要素拉伸开关设置->退出该对话框->在需要移动结点的位置上按住左键->将结点拖放到新的位置后释放左键->结点被移位,整个要素被拉伸,但要素形状基本保持不变。起始结点和终止结点没有变化。
2.2.2任务、菜单操作
(1)要素合并:
为清楚不同方式产生的效果,可通过查询要素个数来进行观测。具体做法为:在所要查看的要素处单击右键->选择Open Attribute Table->可在属性表中通过ID查看要素变化情况
1)同层要素空间合并(Merge操作)
该操作可以完成同层要素空间合并,无论要素(线与多边形)相邻还是分离,都可以合并生成一个新要素,新要素一旦生成,原来的要素自动被删除。即合并后,成为一个要素。
eq \o\ac(○,1)在图形窗口,用Shift键选择(或直接点击左键进行拖拽,直到选定上所有需要要素后放开左键)所有需要合并的要素(两个或两个以上要素)->单击Target 箭头,选择合并后的新要素所属的目标数据层。
eq \o\ac(○,2)单击Editor->Merge命令,打开Merge对话框。
eq \o\ac(○,3)在Merge对话框中列出了所有参加合并的要素。单击其中任意一个时,所对应的要素会闪动一下,以使用户明确要素与名称的对应关系。选择其中一个要素,单击OK按钮。Merge操作自动将被选择要素的属性赋给合并后的新要素。
Merge
2)要素空间联合(同层、异层都可以)(Union操作)
该操作可以完成同层或不同层要素空间合并,无论要素相邻还是分离,都可以合并并生成一个新要素。合成后,增加一个要素。原要素依然保留。
eq \o\ac(○,1)在图形窗口,用Shift键选择所有需要合并的要素(两个或两个以上要素)->单击Target 箭头,选择合并后的新要素所属的目标数据层。(与Merge操作相同)
eq \o\ac(○,2)选择Editor>Union命令,所选择的要素被合并生成一个新要素。
Union
经过移动要素可以得到:
3)公共要素裁剪合并(Intersect)操作
该操作可以完成同层或不同层相互重叠(Overlay)部分的要素裁减合并。新要素保持了原要素的类型,但没有任何属性值,需输入新值。公共部分成为新要素,原要素不变。
eq \o\ac(○,1)在图形窗口,用Shift键选择所有需要合并的要素(两个或两个以上要素)->单击Target 箭头,选择合并后的新要素所属的目标数据层。(与Merge、Union操作相同)
eq \o\ac(○,2)选择Editor>Intersect命令,所选择要素的公共部分合并生成一个新要素。
注意: eq \o\ac(□,1)所选择的要素没有重叠部分时,无法进行Intersect操作。
eq \o\ac(□,2)若同时选择三个要素进行Intersect操作,则须保证三个要素有同时重叠的部分,只两两相重叠,则不能进行Intersect操作。
Intersect
经过移动要素可以得到:
针对“三个要素有同时重叠部分”的情况:
Intersect
经过移动要素可以得到:
(2)要素分割操作
1)面状要素分割 注意:分割后的线或多边形要素的属性值是分割前属性值的复制
eq \o\ac(○,1)在Editor工具栏中单击Task箭头,选择Cut Polygon Features(分割多边形要素)选项。
eq \o\ac(○,2)单击按钮 ,绘制分割曲线,分割曲线应与原始多边形相交,单击右键,选择Finnish Sketch命令,结束分割曲线的绘制。原始多边形要素按照绘制的分割曲线被分割成两个多边形。
分割
移动要素
分割
移动要素
2)线要素分割
eq \o\ac(○,1)任意点分割要素:选择需要分割的线要素:点击 ->在线要素上任意选择分割点,单击左键,线要素按照分割点分成两段。
eq \o\ac(○,2)按长度分割线要素:
选择需要分割的线要素:选择Editor>Split命令,打开Split对话框.
eq \o\ac(○,3)布点分割线要素:
选择Editor> Divide命令,打开Divide对话框
将所选定的线要素平分
为n段并形成新的线要素
“是否删除所选线要素”的复选框,
若不选择,原文件将被保留
(3)线要素的延长、裁剪与翻转
延长可以实现多个线要素自动与目标线相接,裁剪可以实现按固定距离条件或边界线裁剪线要素。
1)绘制草图延长线要素。
eq \o\ac(○,1)单击Task箭头,选择Extend/Trim Features(延长与裁剪要素)选项.
eq \o\ac(○,2)单击按钮 ,在图形窗口中选择需要延长的线要素。
eq \o\ac(○,3)单击按钮 ,在图形窗口绘制一条草图线,作为线要素延长的目标,双击鼠标左键(或单击右键,选择Finnish Sketch命令),结束草图线的绘制。线要素就会延长到绘制的草图线。
绘制草图线
结束草图线绘制
线要素被延长
2)按照长度裁剪线要素
eq \o\ac(○,1)单击Task箭头,选择Modify Features(修改要素)选项.
eq \o\ac(○,2)单击按钮 ,在图形窗口中选择需要裁剪的线要素,单击右键,选择Trim to Length命令,打开Trim文本框。
eq \o\ac(○,3)在Trim文本框中输入裁剪的长度,并按Enter键(裁剪长度是从线要素的终结点起算的,如果需要从起始点起算,可以先将线要素进行翻转操作,然后再进行裁剪),线要素就会按照确定的长度裁剪。
3)按照边界线裁剪线要素<与“绘制草图延长线要素”步骤基本相同,为“逆操作”>
eq \o\ac(○,1)单击Task箭头,选择Extend/Trim Features(延长与裁剪要素)选项。
eq \o\ac(○,2)单击按钮 ,在图形窗口中选择需要裁剪的线要素。
eq \o\ac(○,3)单击按钮 ,在图形窗口中绘制一条草图线,作为线要素裁剪的界限,双击鼠标左键(或单击右键,选择Finnish Sketch命令)结束边界线的绘制。沿着所绘制的边界线方向右侧的线要素被裁剪。
绘制边界线
结束边界线绘制
线要素被裁剪
4)线要素翻转操作
线的延长与裁剪操作,都是按照线要素的终结点进行的,如果需要依据线要素的起始点进行延长或裁剪操作,就需要首先进行线要素的翻转操作,也就是改变线要素的方向,使原来的起始点变为终结点,原来的终结点变为起始结点。
操作步骤:单击Task箭头->选择Modify Features(修改要素)选项->单击按钮 ,在图形窗口中选择需要翻转的线要素->单击右键->选择Flip命令->线要素被翻转(视觉上没有变化)。
终结点
翻转
终结点
3、矢量数据拓扑关系处理
3.1拓扑关系
3.1.1 拓扑关系的拓扑定义
几何对象的排列及其空间相互关系,是几何对象在弯曲或拉伸等变换下仍保持不变的一种性质。
拓扑是地理要素间的空间关系,它是确保数据质量的基础。用于保证数据质量的完整性规则、一致性、相邻性、联通性拓扑能提高空间分析能力,并且在确保GIS数据库质量方面扮演了一个重要角色。
3.1.2拓扑关系的用途
3.2矢量数据拓扑关系处理
3.2.1 ArcCatalog中的操作
(1)新建数据库与数据集:
1)新建数据库:在所要新建数据库的位置单击右键->New->Personal Geodatabase
生成新的数据库并命名:
2)新建数据集:
eq \o\ac(○,1)在所要新建数据集的数据库处单击右键->New->Feature Dataset
eq \o\ac(○,2)命名(注意:尽量不使用中文命名)
eq \o\ac(○,3)选择坐标系统:最好使用Import,使之与要被检测的数据投影系统相同,若投影不同则无法进行检验。
eq \o\ac(○,4)生成数据集:
eq \o\ac(○,5)为数据集加载数据:于所建立数据集处单击右键->Import->Feature Class (multiple)[多个数据同时加载]/ Feature Class (single)[加载单一数据]
显示加载对话框:
数据加载成功:
(2)新建拓扑结构:
eq \o\ac(○,1)进入到该要素集下,在窗口右边空白处单击右键,在弹出的右键菜单中有new->topolopy
eq \o\ac(○,2)为拓扑结构命名(最好不要使用中文名称):默认名称为:“数据集名称”+“_Topology”
eq \o\ac(○,3)为拓扑结构加载数据:
eq \o\ac(○,4)为拓扑结构设置规则
[1]点topology:
· Must be covered by boundary of:点+面,点必须在边界线上
· Must be covered by endpoint of:点+线,点必须在线的终结 点上
· Point must be covered by line:点+线,点必须在线上
· Must be property inside:点+面,点必须在面内
[2]线topology:
· must not have dangle:线,不能有悬挂节点
· must not have pseudos:线,不能有伪节点
· must not overlap with:线,不能有线重合(不同要素间)
· must not self overlap:线,一个要素不能自覆盖
· must not intersect:线,不能有线交叉(不同要素间)
· must not self intersect:线,不能有线自交叉
· must not intersect or touch interior:线,不能有相交和重叠
· must be single part:线,一个线要素只能由一个断点组成
· must be covered by feature class of:线+线,两层线完全重叠
· endpoint must be covered by:线+点,线层中的终点必须和点层的部分(或全部)点重合
· must be covered by boundary of:线+多边形,线被多边形边界重叠
[3]面topology:
· must not overlap:单要素类,多边形要素相互不能重叠
· must not have gaps:单要素类,连续连接的多边形区域中间不能有空白区(非数据区)
· contains point:多边形+点,多边形要素类的每个要素的边界以内必须包含点层中至少一个点
· boundary must be covered by:多边形+线,多边形层的边界与线层重叠(线层可以有非重叠的更多要素)
· must be covered by feature class of:多边形+多边形,第一个多边形层必须被第二个完全覆盖(例如:省与全国的关系)
· must be covered by:多边形+多边形,第一个多边形层必须把第二个完全覆盖(例如:全国与省的关系)
· must not overlap with:多边形+多边形,两个多边形层的多边形不能存在一对相互覆盖的要素
· must cover each other:多边形+多边形,两个多边形的要素必须完全重叠
· area boundary must be covered by boundary of:多边形+多边形,第一个多边形的各要素必须为第二个的一个或几个多边形完全覆盖
规则设置完毕:
eq \o\ac(○,5)生成拓扑结构
eq \o\ac(○,6)对生成的拓扑结构进行编辑:
[1]在已存在的拓扑结构处点击右键,选择Properties
[2]对规则进行编辑:
3.2.2 Arcmap中的操作
(1)加载数据:点击 按钮加载要已建立的数据集。
(2)在工具栏的灰色部分单击右键,选择Topology工具栏
出现工具条,但功能不可用(呈灰色):
(3)
红色的点为错点
3、 问题及解决办法:
1、问题:建立文件后,无法对要素进行编辑。
原因:建立点、线、面文件时,其投影的坐标系统应与底图坐标投影不一致。
解决办法:建立点、线、面文件时,设置的坐标投影都要与底图坐标投影保持一致。
2、问题:无法绘制点、线、面。
原因:Layers与Target不对应。
解决办法:Layers与Target需保持对应。名称要相同。
3、问题:绘制要素时出现悬挂节点,产生了错误的拓扑关系。
原因:手动绘制存在误差。
解决办法:设置容差Editor->snapping以减小误差。
4、问题:编辑后关闭文件。再打开时,编辑结果没有显示。
原因:没有保存Editor Toolbar下的编辑结果。编辑结果不会被自动保存。
解决办法:编辑结束后,单击Editor->Save Edits 命令,保存编辑结果。
5、问题:对三个要素执行Intersect操作,没有成功。
原因:三个要素虽两两有交集,但没有三个要素有同时重叠的部分。
解决办法:(1)若同时选择三个要素进行Intersect操作,则须保证三个要素有同时重叠的部分,只两两相重叠,则不能进行Intersect操作。
(2)分别选中其中两个要素进行两两操作。即分步求出两两重叠的部分。
4、 实验体会 :
通过实验,我对ArcGIS系列软件有了更深层次的理解,也更加喜欢GIS了。实验中,每当遇到新的问题,我都会查询各种资料,争取能用最好的方法解决问题。
通过对GIS软件一点一滴的深入学习,我感受到了GIS软件功能的强大,但也发现了软件设计中的一些小瑕疵。如,start editing后若不save edits则会失去编辑内容,我认为这会降低工作的效率,当计算机发生突发性故障时,这部分的工作便会付诸东流。又如,编辑线要素时,开始结点与终止结点的标识虽有颜色上的区分,但当工作量很大时仍容易混淆,这样就很有可能造成在对要素进行延长或裁剪时产生与理想结果截然相反的情况。当然,也许随着学习的深入,我会发现这些小瑕疵是可以应用软件中的其它功能所弥补的。不过,也正是这样,才使我对GIS更加好奇,有了更多想要去探索的欲望。
期待着下一次的实验与探索!
数据加载
直接拖动
翻转前
翻转后
将所有要素加入到拓扑结构中去
ArcMap
建立点、
线、面文件
编辑
点、线、面
建立
拓扑关系
拓扑编辑
ArcCatalog
ArcCatalog
ArcMap
拓扑关系的用途
有利于数据文件的组织,并减少数据冗余。
有助于数字地图的查错。
拓扑关系是某些类型GIS分析的必要条件。
开始编辑
拓扑工具条
加载拓扑关系数据
ArcMap中拓扑
处理步骤
Editior ->start editing
调出Topology工具条
Add Data
拓扑完成
检查检验
拓扑处理
重新验证
根据Rule的判断查看红色错误区
Mark as exception
错误处理
为拓扑结构设置规则
拓扑容差(cluster tolerance)
拓扑容限是一个距离范围,在这个范围内结点被认为是重叠的。在验证拓扑的过程中,落入群组容限的结点和端点会被捕捉。
默认的拓扑容限值是根据数据的准确度和其他一些因素,由系统默认计算出来的。
等级(rank)
坐标精度等级在要素类上定义,在拓扑生效的时候,它将控制哪些要素类向另外哪些要素类进行捕捉。级别越高(1为最高),在验证过程中移动的要素越少。
等级是控制在拓扑检验中节点移动的级别。等级低的要素类(子类)向等级高的要素类(子类)移动。在创建拓扑的过程中,需要指定要素类的等级。目前,最高的等级是1,最低的等级是5。
拓扑规则(rules)
定义了拓扑的状态,控制了要素之间的相互作用,创建拓扑时必须指定至少一个拓扑规则。
添加规则
移除当前规则
移除所以规则
载入要素
第 37 页 共 39 页