19地理信息系统arcgis实习教程第十九章.docx
《19地理信息系统arcgis实习教程第十九章.docx》由会员分享,可在线阅读,更多相关《19地理信息系统arcgis实习教程第十九章.docx(18页珍藏版)》请在冰点文库上搜索。
19地理信息系统arcgis实习教程第十九章
第十九章点、线、多边形要素输入和编辑
1ArcCatalog中新建Shapefile
Windows下,选择开始/程序/ArcGIS/ArcCatalog,启动ArcCatalog。
在ArcCatalog左侧Catalog窗口中,打开D:
\gis_ex09\ex19\temp文件夹,单击鼠标右键,选择New/Shapefile,进入新建Shapefile对话框:
Name:
road键盘输入文件名
FeatureType:
polyline下拉选择,类型为线要素
图19-1在ArcCatalog中新建Shapefile
按OK键,一个名为road的线要素Shapefile建立(图19-1)。
继续选择D:
\gis_ex09\ex19\temp文件夹,单击鼠标右键,选择New/Shapefile,再进入新建Shapefile对话框:
Name:
town键盘输入文件名
FeatureType:
point下拉选择,类型为点要素
按OK键,一个名为Town的点要素Shapefile建立。
继续选择D:
\gis_ex09\ex19\temp文件夹,单击鼠标右键选择New/Shapefile,再进入新建Shapefile对话框:
Name:
County输入文件名
FeatureType:
polygon下拉选择,类型为多边形要素
图19-2加载Shapefile
按OK键,一个名为County的多边形要素Shapefile建立。
选用菜单File/Exit,退出ArcCatalog。
启动ArcMap,打开地图文档D:
\gis_ex09\ex19\ex19.mxd,该地图文档中已经加载了一个扫描处理后的图像文件scan01.tif。
点击按钮
(AddData,或选用菜单File/AddData…),在D:
\gis_ex09\ex19\temp路径下,将刚刚创建的Town、road、County三个Shapefile加载。
这三个新建的Shapefile都是空的,还没有要素。
本练习是以扫描图为参照,输入、编辑点、线、多边形(图19-2)。
2基本编辑菜单
在ArcMap标准按钮栏中点击按钮
,调用出Editor工具条,也可在菜单中选用View/Toolbars/Editor。
Editor工具条有9个重要的选项,从左至右包括:
(1)Editor菜单,
用于启动编辑状态、结束和保存编辑,同时还有多种编辑操作、捕捉设置以及编辑选项。
(2)Edit选择工具
,用于选择需要编辑的要素。
(3)绘图工具板,
是编辑要素的主要工具,有一系列绘制任意线的工具,绘制新的要素,修改已有要素的形状。
(4)Task下拉任务表,
从中选择要进行的编辑操作,包括CreateTask、ModifyTask等,随着编辑要素的类型不同会有所变化。
(5)Target(Layer)下拉列表
,从中选择要编辑的目标图层(TargetLayer)。
在进入编辑状态后,可以在其中选择或在不同图层之间切换。
(6)Split工具
:
打断被选择的要素。
(7)Rotate工具
:
旋转被选择的要素。
(8)Attribute工具
:
显示被选择的要素的相关属性。
(9)任意线特征(SketchProperties)
:
在绘制任意线时,显示和输入顶点(中间拐点)的X,Y坐标值。
3线要素输入、编辑
在Editor工具栏中选用Editor/StartEditing,进入编辑状态。
注意:
在Task列表中,显示为CreateNewFeature,表示目前处于新建要素状态。
在Target下拉表中选择目标图层road,表示向线要素类road输入要素。
输入线要素通过使用绘图工具板实现,点击Task左侧的小箭头▼可显示具体的工具(见图19-3)。
图19-3绘图工具板
3.1输入线要素的基本工具
(1)任意线(Sketch)工具
是编辑空间要素的主要工具。
点击了任意线(Sketch)图标,表示开始输入线要素,此时,光标变成了带小十字的圆圈。
第一次单击鼠标的左键,就输入了一条线段的起结点(StartNode),再单击鼠标,就输入该线的中间拐点(Vertex),双击鼠标左键输入了终结点(EndNode)。
注意:
ArcMap中每条线段都是由拐点坐标控制的,拐点分3种:
起结点(StartNode)、终结点(EndNode)、中间拐点(Vertex)。
(2)相交工具
是计算产生两条线的交点,如果要按已有两条线段的交点绘出新的线段就可以使用这一工具。
先点击相交工具
,此时光标变为小十字,将光标移动至某条相交线段上,光标马上会变为一条延长直线,此时单击鼠标的左键,表示已经确定一条相交线段,随后,用同样的方法移动光标到另一条相交线段,单击鼠标的左键后可以看到,屏幕上会出现一个红色的点,这就是两条线段的交点。
用鼠标回到工具栏中,重新选择任意线工具
,继续绘制线要素。
可以看到,新绘制的线要素的拐点就是刚才用相交工具确定的交点(可能是起结点、也可能是终结点),使用相交工具与一般的捕捉交点的操作类似,但是功能更强。
如果两条线要素,实际上并未相交,只是延长线可以相交,使用相交工具同样可以捕捉到两者的相交位置。
(3)圆弧工具
绘制线状要素中的圆弧段。
在输入新的线要素时,要输入圆弧段,先选取圆弧工具
,然后在屏幕确定圆弧的第一个点,单击鼠标左键,再单击鼠标的左键确定圆弧第二个点,第三次单击鼠标的左键确定圆弧的终点,即输入三个点实现圆弧段的输入。
(4)终点圆弧工具
是另一个用于输入圆弧段的工具,与前一个圆弧工具所不同的是输入的次序不一样,终点工具
必须先输入圆弧的起点和终点,再指定圆弧中间的某一点,从而确定这三点所控制的圆弧线,从图标的颜色可辨别出前一种工具的圆弧起点是红色的,后一种工具的圆弧中点是红色的。
也可以在已知圆弧的起点、终点和圆弧的半径的情况下,再用半径来确定圆弧:
先单击鼠标的左键,确定圆弧的起点,再单击鼠标的左键,确定圆弧的终点,在键盘上按下“R”键,会出现一个对话框,输入圆弧的半径,回车确认,就可以完成一段圆弧的输入。
(5)中点工具
可以将两点之间连线的中点作为线要素的拐点。
先点击中点工具
,单击鼠标的左键,可以显示出一条连线,注意:
在此条连线上中点显示为一个方形的虚框,再单击鼠标的左键,中点的虚框就转成一个确定的红色点,这就是两点连线的中点。
鼠标回到工具栏中,重新选择任意线工具
,继续输入线要素,可以看到,新输入的拐点就是刚才用中点工具确定的位置。
(6)相切曲线工具
是输入一段与上一个直线段(或弧线段)相切的曲线。
连续使用相切曲线工具可以输入光滑连续的曲线。
与以上几个其他的工具不同,这个工具不能用于输入线要素的起结点,只能用于线要素的中间拐点、终结点。
(7)定距取点工具Distance–DistanceTool
,这也是十分有效的工具。
例如,在某一位置需要埋设标杆,但不知道确切的坐标位置,但是已知位于某一建筑的一角40米,离另一建筑物一角55米。
此时,就可以使用定距取点工具确定这一点。
定距取点工具在距两点不同的距离交叉点处,生成一个拐点(也可能是结点)。
先用鼠标在工具栏中选取定距取点工具
,然后用光标点击已知圆的圆心,根据需要定义一个圆,或者键盘上按下“R”键,在出现的对话框中输入定点的距离(圆的半径)。
同样方法,输入另一个已知点为圆心的圆,此时会显示两圆相交的两个交点,将光标移动到其中一个交点处,单击鼠标的左键,就输入了需要准确定位的拐点(包括结点)。
(8)定向定距取点工具Direction–DistanceTool
是另一种定距取点工具,是根据一个已知点的距离、另一个已知点的相对方向来定点,使用方法和定距取点工具类似。
(9)跟踪工具TraceTool
。
例如,要在已知的地块边界线,输入离开边界
5米的建筑控制线,就可以使用这一工具。
先用要素选择工具
,选中地块边界线,然后选择跟踪工具
(TraceTool),键盘输上按“O”键,在对话框中出入需要偏移的距离5,按OK确认。
此时就可以用光标追踪绘输入后退单位为5的控制线。
3.2绘图工具的环境菜单
上述介绍的9个输入工具一般都是用鼠标左键定位,如果在定位前单击鼠标右键,就会弹出绘图工具的环境菜单(见图19-4),其中主要的选项有:
Direction:
输入方位角
Reflection:
输入偏转角度
Length:
输入长度
Changelength:
改变最近输入的一条线的长度
AbsoluteX,Y…:
输入X,Y绝对坐标确定下一个点
DeltaX,Y…:
输入相对X,Y坐标偏移值确定下一个点
Direction/Length…:
输入方位角和长度,确定下一个点
Parallel:
根据已有的要素作平行线。
使用这一功能时,先用光标上的蓝色小圆圈覆盖平行的要素,单击鼠标的右键,在弹出的绘图工具的内容菜单选择Parallel,就可以确定输入线段的方向与已有的要素平行,按需要在平行线上确定下一个点(结点或拐点)的位置。
Perpendicular:
向已有的线要素作垂线。
使用这一功能时,先用光标上的蓝色小圆圈覆盖被垂直的要素,单击鼠标的右键,在弹出的绘图工具的内容菜单中选择Perpendicular,就可以确定绘制线段的方向与已有的线要素垂直,按需要在垂线上确定下一个点(结点或拐点)的位置。
图19-4绘图工具的环境菜单
SegmentReflection:
根据与已有的要素的角度,确定要绘制线段的方向。
使用这一功能时,也要先用光标上的蓝色小圆圈覆盖已有的线段,单击鼠标右键,在弹出的绘图工具的内容菜单中选择SegmentReflection,再输入与已知线段角度,就可以确定绘制线段的方向。
3.3线要素删除
使用Edit工具
选择线要素,要素被选择后,显示为蓝色的粗线,按键盘上的Delete键,该要素被删除。
利用Windows的Shift键,可以同时选择多个要素,按键盘上的Delete键,进入选择集的多个要素被同时删除。
选择菜单Edit/UndoFeatureEdit,或选用按钮
,可以马上恢复被删除的要素。
3.4设置捕捉环境
捕捉输入方式,可以保证定位准确,要素之间相互连接。
选择Editor工具条菜单Editor/Options,出现编辑选项(EditOptions)对话框:
(1)设置捕捉距离。
在General页中,可以看到有关Snapping的设置,以地图单位(MapUnits)计算,如果设捕捉距离是10,地图单位是米,捕捉半径就是10米。
在实际操作时,根据需要,输入有关的Snapping数值,按OK确认(参见图19-5)。
图19-5设置捕捉环境
(2)预先设置捕捉方式有三种:
Vertex:
拐点(包括端点)
Edge:
线段(计算得到线段上最近的点,往往不是拐点)
End:
端点(也称结点,有起结点或结点,不包括中间拐点)
在Editor工具条选择菜单Editor/Snapping…,出现捕捉设置窗口(见图19-6),每一个图层名的后面都有三个小方块,分别对应Vertex、Edge、End,可用鼠标勾选其中一项或多项。
如果勾选了End,只能捕捉在线要素的结点(端点上),如果勾选了Edge,捕捉到的点在线段上,是计算出来的离开光标十字线最近的位置。
图19-6设置捕捉方式
(3)即时捕捉。
光标位于需要捕捉的位置上,用光标上的蓝色小圆圈覆盖住需要捕捉的要素,按鼠标右键,弹出绘图环境菜单,选择SnapToFeature后可以
细分为4种(图19-7):
Endpoint:
端点
Vertex:
拐点Midpoint:
中点Edge:
线段
选择需要的捕捉方式,松开鼠标的右键,就可以准确捕捉到需要的点。
图19-7即时捕捉
3.5线要素和属性记录的关系
ArcMap自动保持一个要素对应一条属性记录的规则,任何要素有效的输入、分解、合并、删除都导致对应属性记录的添加或删除。
新建Shapefile线状要素,系统自动产生的要素属性表(FeatureAttributeTable)只有三个字段:
FID、Shape和ID。
FID为要素的内部编号,Shape为要素的几何类型,以上两个字段用户无法修改。
ID字段为用户指定的要素编码,默认值为“0”。
处于编辑状态时,输入一个线要素,就在要素属性表中添加一条记录。
可用Edit工具
选择一个要素,再点击Attributes工具
,出现属性编辑窗口,其中有这一要素的所有对应属性。
注意,Shape字段在这一窗口中是不显示的(见图19-8),FID无法修改,如果还有其他的属性,在其Value栏下的属性内容都可修改。
用鼠标右键在目录表中点击图层名,选用OpenAttributeTable…,就打开了要素属性表,如果该图层处于编辑状态,要素属性表也处于编辑状态,用户可以修改属性值。
图19-8查看线要素属性值
3.6线要素形状的几何修正
(1)移动拐点。
用Edit工具
,选择需要调整的要素,再次双击鼠标的左键,可以观察到该要素的所有结点、拐点上都显示出小方块,Task栏自动提示:
ModifyFeature,表示进入调整状态,将光标移动到要调整的拐点,将该拐点拖动到要调整的位置,并松开鼠标左键,实现拐点位置的移动。
移动拐点时,单击鼠标的右键,在弹出的菜单中选择MoveTo,可以在弹出对话框之中输入坐标值,就可以将拐点移动到指定的坐标位置。
如果在弹出的菜单选择Move,可以在弹出对话框之中拐点移动的相对坐标值,也可以精确地移动拐点。
(2)删除拐点。
按上述操作,使拐点进入调整状态,光标移动到某拐点,光标变成“十”字型,单击鼠标的右键,在弹出的菜单中选择DeleteVertex,该拐点被删除。
(3)增加拐点。
按上述操作,使线要素进入调整状态,将光标移动到线段的某部分,单击鼠标的右键,在弹出的菜单中选择InsertVertex,就为线段插入一个拐点。
配合捕捉功能,可以实现对线要素的几何形状的精确调整。
3.7退出和保存线要素的编辑完成对线要素的输入和编辑,使用工具条中的菜单Editor/StopEditing,表
示结束要素类(FeatureClass)以及要素属性表的编辑,系统执行前提示是否保存编辑,选择Yes,保存编辑,选择或No,恢复到被编辑前的状态,FeatureClass和要素属性表的编辑状态同时结束。
3.8线要素长度计算
Shapefile的线要素输入完毕,系统不会自动产生线要素的长度,需要进一步计算产生。
打开road的属性表Attributesofroad.shp,在表的右下侧选用菜单Options/AddField…,在随后的对话框中定义所增加的字段:
Name(字段名):
length
Type(数据类型):
Double(双精度浮点型)
precision(字段宽度):
11
scale(保留小数点位数):
4
按OK键返回。
鼠标右键点击属性表的字段名length,选择菜单CalculateValues…,在随后弹出的对话框中选择“是(Y)”确认。
出现FieldCalculator对话框,钩选Advance选项,在Pro-logicVBAScriptCode文本框内输入以下VBA代码:
DimdblLengthasdouble
DimpCurveasICurve
SetpCurve=[shape]
dblLength=pCurve.Length
在下面的“length=”的提示框内输入长度计算变量名dblLength,按OK键继续,可以观察到字段length中的计算结果为各个线要素的长度。
一旦对线要素重新进行编辑,需要通过上述的步骤,重新计算线要素的长度。
按本节的介绍,以扫描的图形为参照,实现道路图层road的输入、调整。
应主动地尝试各种功能,使自己得到全面的练习。
4多边形要素的输入、编辑
学会了线要素的输入和编辑,多边形要素的输入、编辑就比较容易,许多的方法和工具是相同或类似的,如基本输入绘图工具板也是9个。
选择工具条菜单Editor/StartEditing,进入编辑状态。
注意Task列表中,显示为CreateNewFeature,表示处于新建要素任务状态,Target下拉列表中选择目标图层County,向多边形要素类County输入多边形(乡镇边界)。
4.1输入多边形要素
点击任意线(Sketch)工具图标
,开始输入多边形要素,此时,光标变成了带小十字的圆圈。
第一次单击鼠标的左键,就输入了多边形边界线的第一个结点,再单击鼠标,就输入该线的另一个拐点,双击鼠标左键结束多边形的输入,多边形自动封闭。
在使用任意线工具
输入多边形时,相交工具、圆弧工具、中点工具、终点圆弧工具、定距取点工具、跟踪工具都可以在确定多边形的结点(顶点)时使用,使用的方法与输入线要素时一致,结束多边形输入时双击鼠标左键。
绘图工具的菜单中各项功能也可以在确定多边形边界的拐点时使用。
如果要输入规则多边形,如圆形或矩形,可以用圆形工具CircleTool
或矩形工具RectangleTool
,这两个工具在高级编辑工具条AdvanceEditing内,直接用光标选取,就可直接绘制。
在输入圆形时,按键盘的“R”键,可以输入圆形的半径,以保证精度。
使用Edit工具
选择多边形,用键盘的Delete键可以实现对多边形的删除。
4.2设置捕捉
编辑修改多边形要素时,也需要设置捕捉方式和捕捉环境,其方法与编辑线要素时一致,一般用于捕捉多边形的结点、边界拐点,也可以将其他图层上的结点、拐点、边或中点作为捕捉点。
4.3修改多边形
在编辑多边形要素时,许多编辑工具,如缩放工具、旋转工具、都可以在修改多边形时使用,使用的方法与线要素一致。
多边形的几何形状调整和线的调整相似,可以实现多边形边界拐点的移动、插入或删除。
需要调整多边形形状,点击Edit工具
,选择对应的要素,选中后,再次双击鼠标左键,可以观察到多边形边界的所有结点、拐点都以小方块形式显示出来,Task栏自动提示:
ModifyFeature,表示该要素的有关拐点都进入调整状态。
将光标移动到要调整的拐点,可以将该拐点拖动到要调整的位置,松开鼠标左键,实现拐点位置的移动,再单击鼠标的左键,就完成多边形的形状调整。
编辑拐点时,用上述方法,使多边形要素进入调整状态,光标移动到某拐点,光标变成“十”字型,单击鼠标的右键,在弹出的菜单中选择DeleteVertex,该拐点被删除,再单击鼠标左键,完成多边形的形状调整。
增加拐点时,用上述方法,使多边形要素进入调整状态,光标移动到线段的
某部分,单击鼠标的右键,在弹出的菜单中选择InsertVertex,就为线段插入一个拐点,再单击鼠标左键,完成多边形的形状调整。
移动拐点时,用上述方法,使多边形要素进入调整状态,光标移动到某拐点,单击鼠标右键,在弹出的菜单中选择MoveTo,在弹出对话框之中输入坐标值,将拐点移动到指定的坐标位置。
如果在弹出的菜单中选择Move,在弹出对话框之输入拐点移动的相对坐标值,实现拐点相对位置的精确移动。
配合捕捉和各种绘图功能,可实现对多边形要素几何形状的精确调整。
4.3多边形要素属性的处理
ArcMap自动保持一个多边形要素对应一条属性记录的规则,任何要素有效的输入、删除、合并、分解操作都导致对应属性记录的添加或删除。
在Shapefile中,新建的多边形要素自动产生的要素属性表(FeatureAttributeTable)只有三个字段:
FID、Shape、ID,FID用于要素的内部编号,系统自动建立,Shape说明要素的几何类型,以上两个字段用户无法修改。
ID字段可以用于用户指定的要素编码,默认值为“0”,可以根据用户的需要对各多边形进行编码。
在处于编辑状态中,输入一个多边形要素,就在要素属性表中增加一条记录。
可以使用编辑菜单上的Attribute工具
,察看和编辑选中要素的属性值。
先用Edit工具选择一个要素,点击Attribute工具
,出现属性编辑窗口,其中有这一要素的所有对应属性,Shape字段在这一窗口中是不显示的,其余的Value栏下的属性内容都可以单击对应的内容进行修改、输入。
单击正在编辑图层名County,按住鼠标的右键,选用OpenAttributeTable,正在编辑的图层要素属性表被打开,FID、Shape两个字段中的内容不可修改,而其他的内容都可按需要修改。
4.4退出多边形要素的编辑完成对一个多边形要素输入和编辑,使用工具条中的菜单Editor/Stop
Editing,结束编辑状态,根据提示,确认是保存编辑的结果,还是恢复到编辑之前的状态。
选择“是(Y)”,保存编辑。
4.5多边形要素面积和周长计算
Shapefile的多边形要素输入完毕,系统不会自动计算要素的面积和周长,需进一步计算产生。
打开County的属性表“Attributesofcounty.shp”,在表的右下侧选用菜单Options/AddField…,在随后的对话框中定义所增加的面积字段:
Name(字段名):
Area
Type(数据类型):
Double(双精度浮点型)
precision(字段宽度):
11
scale(保留小数点位数):
3
按OK键返回。
继续选用菜单Options/AddField…,在随后的对话框中定义所增加的周长字段:
Name(字段名):
Perimeter
Type(数据类型):
Double(双精度浮点型)
precision(字段宽度):
11
scale(保留小数点位数):
3
按OK键返回。
鼠标右键点击属性表的字段名Area,选择菜单CalculateValues…,在随后弹出的对话框中选择“是(Y)”确认。
出现FieldCalculator对话框,钩选Advance选项,在Pro-logicVBAScriptCode文本框内输入以下VBA代码:
DimdblAreaasdouble
DimpAreaasIArea
SetpArea=[shape]
dblArea=pArea.area
在下面的“Area=”提示框内输入刚新建的面积计算变量名dblArea,按OK键继续,可以观察到字段Area中的计算结果为各个多边形要素的面积。
鼠标右键点击属性表的字段名Perimeter,选择菜单CalculateValues…,在随后弹出的对话框中选择“是(Y)”确认。
出现Fiel