1、ArcGIS编辑操作的常用快捷键一览表2011-04-01 10:52:16|分类:专业知识|字号订阅在ArcMap中,快捷键与一些编辑工具和命令相关联。使用快捷键能使编辑工作更加快捷有效,总结如下:一、公共快捷键(对所有编辑工具有效):Z:放大X:缩小C:漫游V:显示节点ESC:取消Ctrl+Z:撤销Ctrl+Y:重做SpaceBar:暂停捕捉二、编辑工具:Shift:添加至/取消选择Ctrl:移动选择锚N:下一个被选要素三、用于Edit工具的与注记相关的快捷键:E:在Sketch工具、Edit工具和Edit Annotation工具间切换;四、Edit Annotation工具:Shift
2、:添加至/取消选择Ctrl:移动选择锚N:下一个被选要素R:切换至旋转模式/从旋转模式切换F:切换至要素模式/从要素模式切换E:在Sketch工具、Edit工具和Edit Annotation工具间切换L:在跟踪要素模式下将选中的注记要素旋转180度O:在跟踪要素模式下打开Follow Feature Options对话框Tab:在跟踪要素模式下对注记放置的位置进行左右边的切换P:在跟踪要素模式下对注记放置的角度进行平行和垂直方向的切换。五、Sketch工具:Ctrl+A:方位Ctrl+F:偏转Ctrl+L:长度Ctrl+D:X,Y增量Ctrl+G:方位/长度Ctrl+P:平行Ctrl+E:垂
3、直Ctrl+T:切线Ctrl+Delete:删除草图F2:完成草图F6:绝对X,Y坐标F7:线段偏转T:显示容限Arcmap技巧总结1.要素的剪切与延伸实用工具TASK任务栏Extend/Trim feature剪切所得内容与你画线的方向有关。2.自动捕捉跟踪工具点击Editor工具栏中Snapping来打开Snapping Environment对话框捕捉设置中有3个选项,vertexedgeend分别是节点、终点、和边,选择end应该会捕捉端点3.图斑面积计算及长度计算应用工具CALCULATE AREA或者使用VBA代码实现新建字段并开启Advanced写入代码,面积计算:Dim Out
4、put as doubleDim pArea as IareaSetpArea = shape在最后的一个空格里面写入代码(即:字段名)pArea.area长度计算:Dim Output as doubleDim pCurve as ICurveSet pCurve = shapeOutput = pCurve.Length4.剪切图斑Task任务栏cut polygon feature工具,需要sketch工具画线辅助完成5.配准工具SpatialAdjustment工具需要注意先要set adjustment data然后配准6.影像校正Georeferncing工具7.要素变形Task工
5、具条中的reshape feature配合sketch工具8.添加节点Modify feature在需要加点的地方右键单击insert vertex也可单击右键选择properties打开edit sketch properties对话框,在坐标点位置右键插入节点9.共享多边形生成Auto-complete polygon工具生成共享边的多边形,配合snapping environment更好。10.画岛图1).使用任务栏中的sketch工具,当画完外面的一圈时,右键选择finish part然后画中间的部分再右键finish sketch2).分别画连个图斑然后应用Editor工具栏中的工具
6、先intersect(图斑重叠的地方创建一个新的图斑)然后Clip(剪切)即可。(补充其他工具:Union,把多个图斑联合起来并形成一个新的连接在一起的图斑,原图斑无变化,联合后的图斑不继承原任何图斑的属性;Merge,把多个图斑合并到其中一个图斑上并继承它的属性,原图斑变化;Split用于间断线段,但得知道具体的长度,如果不知道那么长度或者没必要那么精确就直接用Eeitor工具栏的Split tool工具)11.连接外界属性数据(如:.xsl文件等)利用JOIN工具可以方便的实现与外界属性数据的关联,但这种关联是依赖于外界数据库本身的,需经过重新导出之后即完全保存在相应图层属性页。在做外联如
7、EXCEL等的时候对数据有一些要求,确保第一行包含字段名,这些字段名不能超过十个字母,不能出现特殊字符。最好把EXCEL保存为.csv文件去除一些不兼容的内容再连接。转载ESRI论坛Lucy1114帖子说明:12.导出Shape格式为其他软件识别的打印格式如JEPG等格式FILE/EXPORT MAP然后选择相应的图片格式,此时也可设置答应的分辨率pdi13.建立注记层方法一.carvert to Ananotation ,方法二.Draw工具条方法三.从其他地方转换注记图层14.查看特定区域范围内的某种地物分布情况Selection / select by location15.如何用面生成
8、中线先把数据转成coverage格式,workstion里有Centerline命令。另外ArcToolBox-Data Management Tools-Generalization-Collapse Dual Lines To Centerline也行。不过以上做法要求边界是双线。你必须先把面转成线,特别是参数的设置。也可以尝试下sketch工具条中的midpoint tool后面有详细的讲解过程。16.根据坐标数据生成点方法一.:工具 添加XY数据,在“添加XY数据”窗口中,选择已添加的XY数据表,指定X坐标字段(东经)和Y坐标字段(北纬),按“编辑”按钮,选择坐标系统。一般GPS系统采
9、用的坐标系统为WGS_1984。方法二.直接用TOOL工具下的ADD XY可以单个加点17.用任意多边形剪切栅格数据(矢量数据转换为栅格数据)在ArcCatalog下新建一个要素类(要素类型为:多边形),命名为:ClipPoly.shp在ArcMap中,加载栅格数据:Landuse、和ClipPoly.shp打开编辑器工具栏,开始编辑ClipPoly,根据要剪切的区域,绘制一个任意形状的多边形。打开属性表,修改多边形的字段“ID”的值为1,保存修改,停止编辑。打开空间分析工具栏GIS软件应用-ArcGIS执行命令:-指定栅格大小:查询要剪切的栅格图层Landuse的栅格大小,这里指定为25指定
10、输出栅格的名称为路径执行命令: -构造表达式:Landuse*polyClip4-polyclip4,执行栅格图层:Landuse和用以剪切的栅格polyClip4之间的相乘运算GIS软件应用-ArcGIS得到的结果即是以任意多边形剪切的Landuse数据18.栅格重分类(Raster Reclassify)通过栅格重分类操作可以将连续栅格数据转换为离散栅格数据19. Eliminate合并破碎多边形以下的操作将会把面积小于10000平方米的多边形合并到周围与之有最长公共边的多边形中:执行菜单命令选择通过属性选择,查询”Area”Masking Tools-Intersecting Layer
11、 Masks,为注记创建模版,模版的大小用参数Margin来决定3)右键点击数据框,在环境菜单中选择高级绘制选项(Advanced Drawing Options),用注记的模版图层去遮盖线图层,确定23.同一图层使用Clip实现图斑的无缝拼接当一个图斑的边界确定,需要实现两个图斑的无缝拼接时,可以把图斑拉伸覆盖确定边界的图斑的一部分,然后用下面的图斑剪区上面的图斑。方法二:图斑之间有小的缝隙,可以先在缝隙上任意补画一个图斑,然后合并(merge)图斑,最后再剪切(Clip)即可得到无缝的图斑。如下图所示:24.利用两个相交图斑创建新图斑。两个图斑都选中然后Eidtor工具条intersect
12、,此方法原图斑不会被接切。25.属性表中选择集与非选择集的切换Options/switch selection26.快速把选择的要素另存为一个图层并加载进来。先选责需要另存图层的要素(直接选择或者属性表),然后在图层上右键Selection/create Layer From Selected Features。(以前都是直接export竟然没有发现)27.利用Hyperlinks丰富数据库,为其添加超链接。单击rowse工具栏中Identify按钮。单击地图中一个要素,在Identify Results窗口右击需要设置超链接的要素,然后点击Add Hyperlink菜单。若要将一个Web页加
13、为超链接,单击项,并输入URL。要链接到一个文档,单击Link to a Document,并输入文档路径名。单击Tools工具栏中的Hyperlink工具,并单击图上某一个要素即可实现。使用一个属性字段作为超链在内容表中右击包含一个超链接字段的图层,然后点击properties ,单击Display选项卡。选中Supprt Hyper3. Hyperlinks usingfield选项,单击下拉箭头并点击一个字段。单击Document or URL。单击OK,单击Tools中的Hyperlink按钮,将鼠标指移到一要素上并单击以显示其超链接。28.Arcmap中的SQL语言当查询ArcInf
14、o coverages, shape文件, INFO表以及dBASE表时,SQL表达式中的字段名必须用双引号扩起。如:“AREA”,如果查询的是个人地理数据库数据,则需要将字段名包含在方括号内,如:AREA,如果查询的是ArcSDE地理数据库数据或是ArcIMS要素类或ArcIMS影象服务子层中的数据,则不需要将字段名括起,如:AREA有些运算符和关键字也可能有所变化。在查询表达式中,字符串必须加单引号,例如:STATE_NAME=California除个人地理数据库要素类和表之外,查询表达式中的字符串是区分字母大小写的。如果搜索不需要区分大小写,可以使用SQL函数将所有的值都转换成大写或者小
15、写。对于基于文件的数据源,例如shape文件或coverages,既可以使用UPPER函数,也可以使用LOWER函数。例如下面这个查询将选出那些姓名的最后为Jones或JONES的顾客。UPPER(LAST_NAME) = JONES可以用LIKE运算符(不是=运算符)与通配符一起构建部分字符串查询。例如,表达式STATE_NAME LIKE Miss*将在美国州名中选择Mississippi和Missouri。*表示多个字符。还比如,查询表达式OWNER_NAME LIKE ?atherine smith将找出Catherine Smith和Katherine Smith。?表示单个字符。通
16、配符的使用依赖于不同的数据库。例子中使用的通配符只适用于个人地理数据库。可以使用NULL关键字来选择那些在指定字段中值为NULL的要素和记录。通常,NULL关键字的前面总有IS或IS NOT。29.Select by location小结按位置查找要素的方法使用按位置选择(Select By Location)对话框,可以根据要素间的相对空间位置进行查找。可以使用多种方法,查找在同一图层中或不同图层间相互邻近或叠置的点、线、多边形等要素。被跨越边界(Are crossed by the outline of)利用这种方法,选择被另一图层要素覆盖的某个图层上的要素。例如,搜索道路跨越的荒地,得到
17、的结果是道路跨越其边界的所有荒地。相交(Intersect)与Are crossed by the outline of类似,但是该方法可以选择与参照要素接连的要素。例如,选择与道路相交的荒地,选择的结果将包括该道路在其边界范围之内或在其边界之上的所有荒地。在距离范围内(Are within a distance of)这一方法将选择同一图层或不同图层上相邻或邻近的要素。例如,现有一个包括清洁井和污染井的图层,使用该方法可以找出距离污染井500米范围内的所有清洁井。同样,也可以找出距离污染井500米范围内其他图层上的水库和农田。还可以用该选项选择与其他要素相毗邻的要素。例如,假如用户已选定了公
18、司可能购买的地块,现在想获取邻近地块的信息。这种情况下,利用该选项选择选中地块零距离范围内的所有地块即可。中心在里(Have their center in)这种方法选择某一图层上的要素,其中心点落在另一图层要素中。完全在内(Are completely within)这种方法选择完全落在另一图层多边形内部的某一图层上的要素,例如,选择林区里面的湖泊。通过指定一个缓冲距离,可以选择落于多边形内部并距离多边形边界一定范围内的所有要素。例如,选择林区内部500米范围内的湖泊。完全包含(Completely contain)这种方法选择某一图层上完全包含另一图层上的要素的多边形。例如,选择内部包含湖
19、泊的林区。通过指定一个缓冲距离,可以选择在其内部一定范围内包含要素的多边形。例如,对湖泊做缓冲区,可以选择距离湖泊500米范围内的林区。与有公共线段(Share a line segment with)这种方法选择那些与其他要素具有公共线段、顶点或节点的要素。与等同(Are identical to)这种方法选择与另一图层中某一要素具有同样几何形状的所有要素。这时,要素类型必须相同。举个例子:必须用多边形选择多边形,用线段选择线段,用点选择点。包含(Contain)这种方法选择某一图层中包含另一图层中要素的要素。这种方法与完全包含(Completely contain)方法的区别在于:要素间的
20、边界可以接触。例如,使用包含(Contain)方法,即使湖泊的边界和包含该湖泊的森林的边界接触,森林也会被选中。但是在用完全包含(Completely contain)方法时,森林是不会选中的。包含于(Are Contained by)这种方法选择某一图层中被另一图层中要素包含的要素。例如,选择被乡村包围的城市。这种方法和完全包含于(Are completely within)方法的区别在于,要素的边界可以接触。与接触(Touch the boundary of)如果使用包含线的图层来选择要素,则该方法将选择那些与此图层里的线有公共线段,顶点或端点(节点)的线和多边形要素。如果跨越了线,则这些
21、线和多边形将不会被选中。如果使用包含多边形的图层来选择要素,则该方法将选择那些与此图层里的多边形边界有公共线段或顶点的线和多边形要素。如果跨越了多边形边界,则这些线和多边形将不会被选中。30.如何高亮显示指定图层在内容表中右击一个图层,然后点击Properties。单击Selection选项卡。选中第三个选项(with this color),并选择一种你想要颜色。单击OK。这种设置将取代利用Selection Options对话框中所做的任何设置。31.将选中的要素放大至整个窗口在内容表中右击包含选中要素的图层,单击Selection菜单,并单击Zoom To Selected Featur
22、es子菜单。选中要素将放大至整个ArcMap窗口。32.显示选中要素的属性在内容表中右击选中要素所在图层,单击Open Attribute Table,单击Show Selected records。窗口中显示出选中要素的属性记录。也可以打开属性表在select和all之间切换。33.通过单击要素添加文本1).在内容表中,右击需要添加标注的图层,单击Properties。2).单击Labels选项卡。3).单击Label Field下拉箭头,单击作为标注的字段。4).单击OK。5).单击Draw工具条上的Label按钮。应该是只需单击下拉箭头选择Label按钮。6).单击Place label
23、 at position clicked。如果选择了Automatically find best placement,ArcMap会自动的为标注寻找合适的位置。7).单击Choose a style,然后单击需要的标注样式。8).在需要标注的要素上单击鼠标,标注就添加上去了。(先在Draw工具条下新建标注组方便管理,New Annotation Group)34.标注工具条和标注管理器如果图层中有一些要素需要指定特殊的标注属性,需要在标注管理器中生成其它的标注类。点击左侧面板上的一个图层,在右侧面板上为其添加一个新的标注类。个人认为此方法虽然没有转为注记后的标注灵活,但却可以方便的实现自动相
24、对智能化的标注,相比之下更省心,提高效率。35.在进行地图查询或编辑的时候为什么会总是选中所有的图层诀窍在这里(虽然是一点点小问题,但当我第一次遇到这个问题时却花费了我不少时间,甚至于怀疑自己的数据有问题)36.建立拓扑关系检查图斑先根据需要在Catalog中建立相应的拓扑关系规则,然后在Arcmap中进行拓扑处理,辅助工具条Topolygon,下图所示为重叠图斑检查。(也可以在Arctoolbox下的Data Management tools/topology来做)有关geodatabase的topology规则多边形topology1).must not overlay:单要素类,多边形要
25、素相互不能重叠2).must not have gaps:单要素类,连续连接的多边形区域中间不能有空白区(非数据区)3).contains point:多边形点,多边形要素类的每个要素的边界以内必须包含点层中至少一个点4).boundary must be covered by:多边形线,多边形层的边界与线层重叠(线层可以有非重叠的更多要素)5).must be covered by feature class of:多边形多边形,第一个多边形层必须被第二个完全覆盖(省与全国的关系)6).must be covered by:多边形多边形,第一个多边形层必须把第二个完全覆盖(全国与省的关系)7
26、).must not overlay with:多边形多边形,两个多边形层的多边形不能存在一对相互覆盖的要素8).must cover each other:多边形多边形,两个多边形的要素必须完全重叠9).area boundary must be covered by boundary of:多边形多边形,第一个多边形的各要素必须为第二个的一个或几个多边形完全覆盖10).must be properly inside polygons:点多边形,点层的要素必须全部在多边形内11).must be covered by boundary of:点多边形,点必须在多边形的边界上线topology
27、1).must not have dangle:线,不能有悬挂节点2).must not have pseudo-node:线,不能有伪节点3).must not overlay:线,不能有线重合(不同要素间)4).must not self overlay:线,一个要素不能自覆盖5).must not intersect:线,不能有线交叉(不同要素间)6).must not self intersect:线,不能有线自交叉7).must not intersect or touch interrior:线,不能有相交和重叠8).must be single part:线,一个线要素只能由一个
28、path组成9).must not covered with:线线,两层线不能重叠10).must be covered by feature class of:线线,两层线完全重叠11).endpoint must be covered by:线点,线层中的终点必须和点层的部分(或全部)点重合12).must be covered by boundary of:线多边形,线被多边形边界重叠13).must be covered by endpoint of:点线,点被线终点完全重合14).point must be covered by line:点线,点都在线上Topology工具条及功能
29、介绍:37.给多个要素同一赋值选中你需要同一赋值的是所有图斑,然后点击Atrributes,此时出现属性修改对话框,点击根目录是对所有要素同一赋值,点击下面的支目录则可以分别赋值。(也可以用字段计算器实现)38.如何根据确定的点画出以他相应的点例如:我在地图上已经指导了一个一直点,而其他的点在地图上都是以他为中心画出来的。学校SE60度,米意思是学校在中心点南偏东度,距离是米,这样的点在arcmap中怎么加呢?我的方法有二分别如下。1).确定已有一个点图层,其中有学校,然后:对该图层开始编辑选择工具栏editor-direction-distance tool以中心点为中心,先画角度线(arc
30、map左下角会有角度提示),再画距离/半径(注:画的过程中点击A键可以输入角度值,点击D键可以输入距离值)确定,即可如果找不到direction-distance tool的同志请看下面Direction-distance tool is here第二种方法就是直接编写代码实现下面是一段示例的VBA代码(本段代码作者:GIS空间站knight_sl)Option ExplicitDim dPoint(2, 1) As DoubleSub aaa()Call bbbDim aa As IMxDocumentSet aa = ThisDocumentDim pFLyr As IFeatureLay
31、erSet pFLyr = aa.FocusMap.Layer(0)Dim pFCsr As IFeatureCursorDim pFt As IFeatureSet pFCsr = pFLyr.FeatureClass.Update(Nothing, False)Set pFt = pFCsr.NextFeatureDim pPoint As IPointSet pPoint = pFt.ShapeCopyDim pNewPoint As IPointDim X0 As Double, Y0 As DoubleDim X As Double, Y As DoubleDim dAngle As
32、 DoubleDim i As LongFor i = 0 To UBound(dPoint, 1)Set pFt = pFLyr.FeatureClass.CreateFeatureSet pNewPoint = New PointdAngle = dPoint(i, 0) * 3.14159263579893 / 180pNewPoint.X = dPoint(i, 1) * Cos(dAngle) + pPoint.XpNewPoint.Y = dPoint(i, 1) * Sin(dAngle) + pPoint.YSet pFt.Shape = pNewPointpFt.StoreN
33、extSet pFLyr = NothingSet pFCsr = NothingSet pFt = NothingSet pPoint = NothingSet pNewPoint = NothingEnd SubSub bbb()定义新加三个点的角度和距离dPoint(0, 0) = 10dPoint(0, 1) = 150dPoint(1, 0) = 30dPoint(1, 1) = 170dPoint(2, 0) = 120dPoint(2, 1) = 200End Sub这中方法做起来需要一点编程经验,但是比上面那中一个一个的画的方法要先进多了,可以把所有的点录入同时画出来。如果你不
34、会VBA编程,请看下面:这是ArcGIS VBA的程序,运行的方法:1),运行ArcMap,加载所需图层;2),Tools菜单/Macros(宏)/Visual Basic Editor(VB编辑器),这样打开VB编辑器3),双击打开VB编辑器左上工程资源管理器中的Project/ArcMap对象/ThisDocument,把上面的代码粘进去。注意看首行Option Explicit如果有两行,就删除一行。4),点击VB编辑器工具栏的运行按钮运行(或菜单运行/运行子过程),就可以了,再激活ArcMap可以看到发生了什么!或者还有一种创建宏的方法(不过建议对ArcGIS VBA不大熟的同志不要用
35、这种方法):1),运行ArcMap,加载所需图层;2),Tools菜单/Macros(宏)/Macros,这样打开宏编辑器3),在宏名称中输入aaa,确定后,会打开VB编辑器,将看到有一个aaa的过程,没有实体。你把上面的aaa过程中的代码粘进去,然后在前面加上Option Explicit(这个别重复了哈)Dim dPoint(2, 1) As Double就可以。4),点击VB编辑器工具栏的运行按钮运行(或菜单运行/运行子过程),就可以了,再激活ArcMap可以看到发生了什么!39.这里说道了工具的使用,那么就简单的再介绍下Sketch中的几个工具吧Sketch construction
36、tools的使用:Sketch tool:主要是用来创造线和面特征的节点,在你完成了草图之后,ArcMAP就会增加最后的线段,形成矢量图。Arc tool:这个主要是帮你创造一个弧段的,选中这个工具后,先在弧段起点点一下,然后在弧段高度方向大致位置点一下(这个点是不可见的,只是给你确定弧段的高度),最后在弧段的终点点一下,就形成一条弧段了。Direction-distance tool:这个主要是从已知某一个方向和某一个距离来确定一个点。首先点一个已知方向的点,这是会有一条线出来,你确定好方向后,再点已知距离的点,这是出来一个圆,确定距离后,直线和圆有交点,这就是你要的点,再上面点一下就ok!
37、Distance-distance tool:这个和上面的一样的道理,只是它都用距离来确定一个点,也就是两个圆确定你要的点。Endpoint arc tool:这也是创造弧段用的,与Arc tool工具不同的是,它是先在弧段的起点点一下,然后在弧段的终点点一下,再点一个点确定弧段的半径。个人认为这个工具要比Arc tool工具更精确些。Intersection tool:就是利用两条直线确定一个点。很简单一用就会!Midpoint tool:确定中点的工具,比如马路的中点,你可以先点一边,再点马路另一边,这时马路的中点自动出现了。(画道路中线太可以试试,不过得是直线道路咯,_)Tangentt
38、ool:相切弧段工具,它能够在一条线段上画出一条切线,只有你用其他工具画了线段出来时你才可以用这个工具。Trace tool:主要是用来在跟踪已存在的特征,比如一栋房子,你要沿房子外围画一条线(比如围墙),那么你使用这个工具就非常方便,首先开始时你必须按O键,设置下跟踪的间距,如100,其中还有三个角点的方式:mitered是直角bevelled是钝角rounded是圆角。(感觉那效果有点像CAD的偏移咯)40.如何标注多个字段的属性及分子式标注Propertis/label field /expression实例:& 单位名称& & VbCrLf & & PARCEL_NO输出分数线VbCr
39、Lf换行效果图:引用GIS空间站兔八哥文章详解以前用ArcGIS Label一般也就在图层的Properties里面定义一下Label字体大小和粗细。这两天遇到一个问题,需要在Label中显示多个字段的内容,比如BlockName和CompanyName。其实这个本来不是很难的问题,因为Label中支持VBScript,使用BlockName & VbNewLine & CompanyName。就可以实现标注中第一行显示BlockName,第二行显示CompanyName.现在问题出来了,出图时候希望突出BlockName效果,希望加粗显示,而CompanyName使用一般字体。考虑了很长时间
40、终于从ArcGIS帮助中找到了相关的内容,原来Label的VBScript里面支持类似于Html的VBScript标签,比如加粗就是用,上面问题就可以使用下面语句解决: & BlockName & & VbNewLine & CompanyName除了加粗,ArcGIS中还支持下面的文本格式标签:Font: & LABELFIELD & Color: & LABELFIELD & & LABELFIELD & Bold: & LABELFIELD & Italic: & LABELFIELD & Underline: & LABELFIELD & All caps: & LABELFIELD & Small caps: & LABELFIELD & Superscript & LABELFIELD & Subscript: & LABELFIELD &