当前位置:首页 >> 建筑/土木 >>

arcgis快捷键及技巧


ArcGIS 编辑操作的常用快捷键一览表 在 ArcMap 中,快捷键与一些编辑工具和命令相关联。使用快捷键能使 编辑工作更加快捷有效,总结如下: 一、公共快捷键(对所有编辑工具有效): Z:放大 X:缩小 C:漫游 V:显示节点 ESC:取消 Ctrl+Z:撤 销 Ctrl+Y:重做 SpaceBar:暂停捕捉 二、编辑工具: Shift:添加至/取消选择 Ctrl:移动选择锚

N:下一个被选要素 三、用于 Edit 工具的与注记相关的快捷键: E:在 Sketch 工具、Edit 工具和 Edit Annotation 工具间切换; 四、Edit Annotation 工具: Shift:添加至/取消选择 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:垂直 Ctrl+T:切线 Ctrl+Delete:删除草图 F2:完成草图 F6:绝对 X,Y 坐标 F7:线段偏转 T:显示容限

Arcmap 技巧总结 1.要素的剪切与延伸 实用工具 TASK 任务栏 Extend/Trim feature 剪切所得内容与你画线的方向有关。 2.自动捕捉跟踪工具 点击 Editor 工具栏中 Snapping 来打开 Snapping Environment 对话框 捕捉设置中有 3 个选项, vertex edge end 分别是节点、终点、和边,选择 end 应该 会捕捉端点 3.图斑面积计算及长度计算 应用工具 CALCULATE AREA 或者使用 VBA 代码实现 新建字段并开启 Advanced 写入代 码,面积计算: Dim Output as double Dim pArea as Iarea Set pArea = [shape] 在最后的一个空格里面写入代码(即:字段名)pArea.area 长度计算: Dim Output as double Dim pCurve as ICurve Set pCurve = [shape] Output = pCurve.Length 4.剪切图斑

Task 任务栏 cut polygon feature 工具,需要 sketch 工具画线辅助完成 5.配准工具 Spatial Adjustment 工具 需要注意先要 set adjustment data 然后配准 6.影像校正 Georeferncing 工具 7.要素变形 Task 工具条中的 reshape feature 配合 sketch 工具 8.添加节点 Modify feature 在需要加点的地方右键单击 insert vertex 也可单击右键选择 properties 打开 edit sketch properties 对话框, 在坐标点位置右键插入节点 9.共享多边形生成 Auto-complete polygon 工具生成共享边的多边形,配合 snapping environment 更好。 10. 画岛图 1).使用任务栏中的 sketch 工具,当画完外面的一圈时,右键 选择 finish part 然后画中间 的部分 再右键 finish sketch 2) .分别画连个图斑然后应用 Editor 工具栏中的工具先 intersect(图斑重叠的地方创建一个新 的图斑)然后 Clip(剪切)即可。 (补充其他工具:Union,把多个图斑联合起来并形成一个新 的连接在一起的图斑,原图斑无变化,联合后的图斑不继承原任何图斑的属性;Merge,把 多个图斑合并到其中一个图斑上并继承它的属性,原图斑变化;Split 用于间断线段,但得 知道具体的长度,如果不知道那么长度或者没必要那么精确就直接用 Eeitor 工具栏的 Split tool 工具 ) 11. 连接外界属性数据(如:.xsl 文件等) 利用 JOIN 工具可以方便的实现与外界属性数据的关联, 但这种关联是依赖于外界数据库本 身的,需经过重新导出之后即完全保存在相应图层属性页。在做外联如 EXCEL 等的时候对 数据有一些要求,确保第一行包含字段名,这些字段名不能超过十个字母,不能出现特殊字 符。最好把 EXCEL 保存为.csv 文件去除一些不兼容的内容再连接。 转载 ESRI 论坛 Lucy1114 帖子说明:

12. 导出 Shape 格式为其他软件识别的打印格式如 JEPG 等格式 FILE/EXPORT MAP 然后选择相应的图片格式,此时也可设置答应的分辨率 pdi 13. 建立注记层 方法一.carvert to Ananotation ,方法二.Draw 工具条 方法三.从其他地方转换注记图层 14. 查看特定区域范围内的某种地物分布情况 Selection / select by location 15. 如何用面生成中线 先把数据转成 coverage 格式,workstion 里有 Centerline 命令。 另外 ArcToolBox->Data Management Tools->Generalization->Collapse Dual Lines To Centerline 也行。不过以上做法要求边界是双线。你必须先把面转成线,特别是参数的设置。也可以尝 试下 sketch 工具条中的 midpoint tool 后面有详细的讲解过程。 16. 根据坐标数据生成点 方法一. :[工具] >>[添加 XY 数据],在“添加 XY 数据”窗口中,选择已添加的 XY 数据表,指定 X 坐标字段(东经)和 Y 坐标字段(北纬) ,按“编辑”按钮,选择坐 标系统。一般 GPS 系统采用的坐标系统为 WGS_1984。 方法二.直接用 TOOL 工具下的 ADD XY 可以单个加点

17. 用任意多边形剪切栅格数据(矢量数据转换为栅格数据) 在 ArcCatalog 下新建一个要素类(要素类型为:多边形) ,命名为:ClipPoly.shp 在 ArcMap 中,加载栅格数据:Landuse、和 ClipPoly.shp 打开 编辑器工具栏,开始编辑 ClipPoly ,根据要剪切的区域,绘制一个任意形状的多 边形。打开属性表,修改多边形的字段“ID”的值为 1,保存修改,停止编辑。 打开 空间分析工具栏 GIS 软件应用-ArcGIS 执行命令:<空间分析>-<转换>--<要素到栅格> 指定栅格大小:查询要剪切的栅格图 层 Landuse 的栅格大小,这里指定为 25 指定输出栅格的名称为路径 执行命令: <空间分析>-<栅格计算器> 构造表达式:[Landuse]*[polyClip4-polyclip4] ,执行栅格图层:Landuse 和 用以剪切 的栅格 polyClip4 之间的相乘运算 GIS 软件应用-ArcGIS 得到的结果即是以任意多边形剪切的 Landuse 数据 18. 栅格重分类(Raster Reclassify) 通过栅格重分类操作可以将连续栅格数据转换为离散栅格数据 19. Eliminate 合并破碎多边形 以下的操作将会把面积小于 10000 平方米的多边形合并到周围与之有最长公共 边的多边形中: 执行菜单命令[选择]>>[通过属性选择],查询”Area”<=10000 (平方米)的图斑

被选中的多边形以高亮方式显示,这些小的图斑将会被合并到与之相邻且有最大公共边 的多边形。当然也可以选择合并到相邻的面积最大的多边形。 打开 Arctoolbox,执行 [消除] 命令 指定输入图层:tinSlopef, 输出要素类:TinSlopef_Elminate.shp Eliminate(合并破碎多边形)操作原理

20. 重叠要素的选择切换 目标:在覆盖同一区域的多个要素中切换被选择要素 操作步骤: 1) .在编辑环境中选中覆盖同一区域的多个要素中的一个要素 2) .按下 N 键,被选要素就会自动地切换到另一个图层的要素上去(如图 1) 3).重复操作,直到选中目标要素为止 21. 编辑时一些常用的快捷键 一、公共快捷键(对所有编辑工具有效) : 在编辑未完成时按快捷键 E 切换到选择的环境中去 Z 放大 X 缩小 C 漫游 V 显示节点 Ctrl+Z 撤销 Ctrl+Y 重做 SpaceBar 暂停捕捉 二、编辑工具: Shift:添加至/取消选择 Ctrl:移动选择锚 N:下一个被选要素 三、用于 Edit 工具的与注记相关的快捷键: E:在 Sketch 工具、Edit 工具和 Edit Annotation 工具间切换;

四、Edit Annotation 工具: Shift:添加至/取消选择 Ctrl:移动选择锚 N:下一个被选要素 R:切换至旋转模式/从旋转 模式切换 F:切换至要素模式/从要素模式切换 E:在 Sketch 工具、Edit 工具和 Edit Annotation 工具间切换 L:在跟踪要素模式下将选中的 注记要素旋转 180 度 O:在跟踪要素模式下打开 Follow Feature Options 对话框 Tab:在跟踪要素模式下对注记放置的位置进行左右边的切换 P:在跟踪要素模式下对注记放置的角度进行平行和垂直方向的切换。 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:垂直 Ctrl+T:切线 Ctrl+Delete:删除草图 F2:完成草图 F6:绝对 X,Y 坐标 F7:线段偏转 T:显示容限 已经输入的命令可以通过 Esc 取消。 六.鼠标操作技巧 i. 在使用【Pan】工具时,鼠标单击处将位于地图的中心。 ii. 在使用【Zoom In / Zoom Out / Pan】工具时,按 F6 键可以循序在这 3 个工具间切换 iii. 在 TOC 中按住 Alt 键,并单击图层,等效于缩放到图层(Zoom To Layer) 22. 对线要素标注的增强 (对线要素进行标注时,如果标注在线上,标注和线会叠加显示,效果不理想,下面叫介绍 一种可以在显示标注的地方把线断开的方法,这样效果会美观一些) 操作步骤: 1) .把标注转成注记,保存在 GDB 中 2) 用 ArcToolbox 中的制图工具 Cartography Tools->Masking Tools->Intersecting Layer . Masks,为注记创建模版,模版的大小用参数 Margin 来决定 3) .右键点击数据框,在环境菜单中选择高级绘制选项(Advanced Drawing Options) ,用注 记的模版图层去遮盖线图层,确定 23.同一图层使用 Clip 实现图斑的无缝拼接 当一个图斑的边界确定, 需要实现两个图斑的无缝拼接时, 可以把图斑拉伸覆盖确定边界的 图斑的一部分,然后用下面的图斑剪区上面的图斑。 方法二:图斑之间有小的缝隙,可以先在缝隙上任意补画一个图斑,然后合并(merge)图 斑,最后再剪切(Clip)即可得到无缝的图斑。 如下图所示:

24.利用两个相交图斑创建新图斑。 两个图斑都选中然后 Eidtor 工具条 intersect,此方法原图斑不会被接切。

25.属性表中选择集与非选择集的切换 Options/switch selection 26.快速把选择的要素另存为一个图层并加载进来。 先选责需要另存图层的要素(直接选择或者属性表) ,然后在图层上右键 Selection/create

Layer From Selected Features。 (以前都是直接 export 竟然没有发现) 27.利用 Hyperlinks 丰富数据库,为其添加超链接。 单击 rowse 工具栏中 Identify 按钮。 单击地图中一个要素,在 Identify Results 窗口右击需要 设置超链接的要素, 然后点击 Add Hyperlink 菜单。 若要将一个 Web 页加为超链接, 单击项, 并输入 URL。 要链接到一个文档, 单击 Link to a Document, 并输入文档路径名。 单击 Tools 工具栏中的 Hyperlink 工具,并单击图上某一个要素即可实现。 使用一个属性字段作为超链 在内容表中右击包含一个超链接字段的图层,然后点击 properties ,单击 Display 选项卡。选中 Supprt Hyper3. Hyperlinks using field 选项,单击下拉 箭头并点击一个字段。 单击 Document or URL。单击 OK,单击 Tools 中的 Hyperlink 按钮, 将鼠标指移到一要素上并单击以显示其超链接。 28.Arcmap 中的 SQL 语言 当查询 ArcInfo coverages, shape 文件, INFO 表以及 dBASE 表时,SQL 表达式中的字段名必 须用双引号扩起。如: “AREA” ,如果查询的是个人地理数据库数据,则需要将字段名包含 在方括号内,如:[AREA],如果查询的是 ArcSDE 地理数据库数据或是 ArcIMS 要素类或 ArcIMS 影象服务子层中的数据,则不需要将字段名括起,如:AREA 有些运算符和关键字也可能有所变化。 在查询表达式中,字符串必须加单引号,例如: [STATE_NAME]=‘California’ 除个人地理数据库要素类和表之外, 查询表达式中的字符串是区分字母大小写的。 如果搜索 不需要区分大小写,可以使用 SQL 函数将所有的值都转换成大写或者小写。对于基于文件 的数据源,例如 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。 ?表示单个字符。 通配符的使用依赖于不同的数据库。 例子中使用的通配符只适用于个人地 理数据库。 可以使用 NULL 关键字来选择那些在指定字段中值为 NULL 的要素和记录。通常,NULL 关键字的前面总有 IS 或 IS NOT。 29.Select by location 小结 按位置查找要素的方法 使用按位置选择(Select By Location) 对话框,可以根据要素间的相对空间位置进行查找。 可以使用多种方法,查找在同一图层中或不同图层间相互邻近或叠置的点、线、多边形等要 素。 被…跨越边界(Are crossed by the outline of) 利用这种方法, 选择被另一图层要素覆盖的某个图层上的要素。 例如, 搜索道路跨越的荒地, 得到的结果是道路跨越其边界的所有荒地。

相交(Intersect)

与 Are crossed by the outline of 类似,但是该方法可以选择与参照要素接连的要素。例如, 选择与道路相交的荒地, 选择的结果将包括该道路在其边界范围之内或在其边界之上的所有 荒地。 在…距离范围内(Are within a distance of) 这一方法将选择同一图层或不同图层上相邻或邻近的要素。 例如, 现有一个包括清洁井和污 染井的图层,使用该方法可以找出距离污染井 500 米范围内的所有清洁井。同样,也可以找 出距离污染井 500 米范围内其他图层上的水库和农田。 还可以用该选项选择与其他要素相毗 邻的要素。例如,假如用户已选定了公司可能购买的地块,现在想获取邻近地块的信息。这 种情况下,利用该选项选择选中地块零距离范围内的所有地块即可。 中心在…里(Have their center in) 这种方法选择某一图层上的要素,其中心点落在另一图层要素中。 完全在…内(Are completely within) 这种方法选择完全落在另一图层多边形内部的某一图层上的要素, 例如, 选择林区里面的湖 泊。 通过指定一个缓冲距离, 可以选择落于多边形内部并距离多边形边界一定范围内的所有 要素。例如,选择林区内部 500 米范围内的湖泊。 完全包含(Completely contain) 这种方法选择某一图层上完全包含另一图层上的要素的多边形。 例如, 选择内部包含湖泊的 林区。通过指定一个缓冲距离,可以选择在其内部一定范围内包含要素的多边形。例如,对 湖泊做缓冲区,可以选择距离湖泊 500 米范围内的林区。 与…有公共线段(Share a line segment with) 这种方法选择那些与其他要素具有公共线段、顶点或节点的要素。 与…等同(Are identical to) 这种方法选择与另一图层中某一要素具有同样几何形状的所有要素。 这时, 要素类型必须相 同。举个例子:必须用多边形选择多边形,用线段选择线段,用点选择点。

包含(Contain) 这种方法选择某一图层中包含另一图层中要素的要素。这种方法与完全包含(Completely contain)方法的区别在于:要素间的边界可以接触。例如,使用包含(Contain)方法,即 使湖泊的边界和包含该湖泊的森林的边界接触,森林也会被选中。但是在用完全包含 (Completely contain)方法时,森林是不会选中的。 包含于(Are Contained by) 这种方法选择某一图层中被另一图层中要素包含的要素。例如,选择被乡村包围的城市。这 种方法和完全包含于(Are completely within)方法的区别在于,要素的边界可以接触。 与…接触(Touch the boundary of) 如果使用包含线的图层来选择要素, 则该方法将选择那些与此图层里的线有公共线段, 顶点 或端点(节点)的线和多边形要素。如果跨越了线,则这些线和多边形将不会被选中。

如果使用包含多边形的图层来选择要素, 则该方法将选择那些与此图层里的多边形边界有公 共线段或顶点的线和多边形要素。 如果跨越了多边形边界, 则这些线和多边形将不会被选中。 30. 如何高亮显示指定图层 在内容表中右击一个图层,然后点击 Properties。 单击 Selection 选项卡。 选中第三个选项(with this color),并选择一种你想要颜色。 单击 OK。 这种设置将取代利用 Selection Options 对话框中所做的任何设置。 31. 将选中的要素放大至整个窗口 在内容表中右击包含选中要素的图层, 单击 Selection 菜单, 并单击 Zoom To Selected Features 子菜单。 选中要素将放大至整个 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 at position clicked。如果选择了 Automatically find best placement, ArcMap 会自动的为标注寻找合适的位置。 7). 单击 Choose a style,然后单击需要的标注样式。 8). 在需要标注的要素上单击鼠标,标注就添加上去了。 (先在 Draw 工具条下新建标注组方便管理,New Annotation Group) 34. 标注工具条和标注管理器 如果图层中有一些要素需要指定特殊的标注属性,需要在标注管理器中生成其它的标注类。 点击左侧面板上的一个图层,在右侧面板上为其添加一个新的标注类。 个人认为此方法虽然没有转为注记后的标注灵活, 但却可以方便的实现自动相对智能化的标 注,相比之下更省心,提高效率。 35. 在进行地图查询或编辑的时候为什么会总是选中所有的图层 诀窍在这里(虽然是一点点小问题,但当我第一次遇到这个问题时却花费了我不少时间,甚 至于怀疑自己的数据有问题) 36.建立拓扑关系检查图斑 先根据需要在 Catalog 中建立相应的拓扑关系规则,然后在 Arcmap 中进行拓扑处理,辅助 工具条 Topolygon,下图所示为重叠图斑检查。 (也可以在 Arctoolbox 下的 Data Management tools/topology 来做) 有关 geodatabase 的 topology 规则 多边形 topology 1).must not overlay:单要素类,多边形要素相互不能重叠 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).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 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:线,一个线要素只能由一个 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 工具条及功能介绍: 37.给多个要素同一赋值 选中你需要同一赋值的是所有图斑,然后点击 Atrributes,此时出现属性修改对话框,点击根 目录是对所有要素同一赋值,点击下面的支目录则可以分别赋值。 (也可以用字段计算器实 现) 38.如何根据确定的点画出以他相应的点 例如:我在地图上已经指导了一个一直点,而其他的点在地图上都是以他为中心画出来的。 学校 SE60 度,140米 意思是学校在中心点南偏东60度,距离是140米,这 样的点在 arcmap 中怎么加呢?我的方法有二分别如下。 1). 确定已有一个点图层,其中有学校,然后: 对该图层开始编辑 选择工具栏 editor---direction-distance tool 以中心点为中心,先画角度线(arcmap 左下角会有角度提示),再画距离/半径(注:画的过 程中点击 A 键可以输入角度值,点击 D 键可以输入距离值)

确定,即可 如果找不到 direction-distance tool 的同志请看下面 Direction-distance tool is here

第二种方法就是直接编写代码实现 下面是一段示例的 VBA 代码(本段代码作者:GIS 空间站 knight_sl) Option Explicit Dim dPoint(2, 1) As Double Sub aaa() Call bbb Dim aa As IMxDocument Set aa = ThisDocument Dim pFLyr As IFeatureLayer Set pFLyr = aa.FocusMap.Layer(0) Dim pFCsr As IFeatureCursor Dim pFt As IFeature Set pFCsr = pFLyr.FeatureClass.Update(Nothing, False) Set pFt = pFCsr.NextFeature Dim pPoint As IPoint Set pPoint = pFt.ShapeCopy Dim pNewPoint As IPoint Dim X0 As Double, Y0 As Double Dim X As Double, Y As Double Dim dAngle As Double Dim i As Long For i = 0 To UBound(dPoint, 1) Set pFt = pFLyr.FeatureClass.CreateFeature Set pNewPoint = New Point dAngle = dPoint(i, 0) * 3.14159263579893 / 180 pNewPoint.X = dPoint(i, 1) * Cos(dAngle) + pPoint.X pNewPoint.Y = dPoint(i, 1) * Sin(dAngle) + pPoint.Y Set pFt.Shape = pNewPoint pFt.Store Next Set pFLyr = Nothing Set pFCsr = Nothing Set pFt = Nothing Set pPoint = Nothing Set pNewPoint = Nothing End Sub Sub bbb() '定义新加三个点的角度和距离 dPoint(0, 0) = 10

dPoint(0, 1) = 150 dPoint(1, 0) = 30 dPoint(1, 1) = 170 dPoint(2, 0) = 120 dPoint(2, 1) = 200 End Sub 这中方法做起来需要一点编程经验, 但是比上面那中一个一个的画的方法要先进多了, 可以 把所有的点录入同时画出来。 如果你不会 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 不大熟的同志不要用这种方法) : 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 tools 的使用: Sketch tool:主要是用来创造线和面特征的节点,在你完成了草图之后,ArcMAP 就会增加最 后的线段,形成矢量图。 Arc tool:这个主要是帮你创造一个弧段的,选中这个工具后,先在弧段起点点一下,然后在弧 段高度方向大致位置点一下(这个点是不可见的,只是给你确定弧段的高度) ,最后在弧段 的终点点一下,就形成一条弧段了。 Direction-distance tool:这个主要是从已知某一个方向和某一个距离来确定一个点。首先点一 个已知方向的点,这是会有一条线出来,你确定好方向后,再点已知距离的点,这是出来一 个圆,确定距离后,直线和圆有交点,这就是你要的点,再上面点一下就 ok! Distance-distance tool:这个和上面的一样的道理,只是它都用距离来确定一个点,也就是两 个圆确定你要的点。 Endpoint arc tool:这也是创造弧段用的,与 Arc tool 工具不同的是,它是先在弧段的起点点 一下,然后在弧段的终点点一下,再点一个点确定弧段的半径。个人认为这个工具要比 Arc

tool 工具更精确些。 Intersection tool:就是利用两条直线确定一个点。很简单一用就会! Midpoint tool:确定中点的工具,比如马路的中点,你可以先点一边,再点马路另一边,这时 马路的中点自动出现了。 (画道路中线太可以试试,不过得是直线道路咯,^_^) Tangent tool:相切弧段工具, 它能够在一条线段上画出一条切线, 只有你用其他工具画了线 段出来时你才可以用这个工具。 Trace tool: 主要是用来在跟踪已存在的特征,比如一栋房子,你要沿房子外围画一条线(比 如围墙) 那么你使用这个工具就非常方便, , 首先开始时你必须按 O 键, 设置下跟踪的间距, 如 100,其中还有三个角点的方式:mitered 是直角 bevelled 是钝角 rounded 是圆角。(感觉 那效果有点像 CAD 的偏移咯) 40.如何标注多个字段的属性及分子式标注 Propertis/label field /expression 实例:"<und>"& [单位名称] &"</und>" & VbCrLf & " " & [PARCEL_NO] </und> 输出分数线 VbCrLf 换行 效果图: 引用 GIS 空间站 兔八哥文章详解 以前用 ArcGIS Label 一般也就在图层的 Properties 里面定义一下 Label 字体大小和粗细。这 两天遇到一个问题, 需要在 Label 中显示多个字段的内容, 比如 BlockName 和 CompanyName。 其实这个本来不是很难的问题, 因为 Label 中支持 VBScript, 使用[BlockName] & VbNewLine & [CompanyName]。就可以实现标注中第一行显示 BlockName,第二行显示 CompanyName. 现在问题出来了,出图时候希望突出 BlockName 效果,希望加粗显示,而 CompanyName 使用一般字体。考虑了很长时间终于从 ArcGIS 帮助中找到了相关的内容,原来 Label 的 VBScript 里面支持类似于 Html 的 VBScript 标签,比如加粗就是用<BOL>,上面问题就可以 使用下面语句解决: "<BOL>" & [BlockName] & "</BOL>" & VbNewLine & [CompanyName] 除了加粗,ArcGIS 中还支持下面的文本格式标签: Font: "<FNT name='Arial' size='18'>" & [LABELFIELD] & "</FNT>" Color: "<CLR red='255' green='255' blue='255'>" & [LABELFIELD] & "</CLR>" "<CLR cyan='100' magenta ='100' yellow='100' black='100'>" & [LABELFIELD] & "</CLR>" Bold: "<BOL>" & [LABELFIELD] & "</BOL>" Italic: "<ITA>" & [LABELFIELD] & "</ITA>" Underline: "<UND>" & [LABELFIELD] & "</UND>" All caps: "<ACP>" & [LABELFIELD] & "</ACP>" Small caps: "<SCP>" & [LABELFIELD] & "</SCP>" Superscript "<SUP>" & [LABELFIELD] & "</SUP>" Subscript:

"<SUB>" & [LABELFIELD] & "</SUB>" Character spacing (%): "<CHR spacing='25'>" & [LABELFIELD] & "</CHR>" Word spacing (%): "<WRD spacing='150'>" & [LABELFIELD] & "</WRD>" Leading (pts): "<LIN leading='12'>" & [LABELFIELD] & "</LIN 需要注意的是,使用这些标签后,生成的 Label 语句在 Verify 按钮中是不生效的,只对最终 的显示结果生效。 其实问题还没有最终解决,使用 VbNewLine 生成的显示结果,上下两行缺省时居中对齐, 现在希望它们左对齐显示,还没找到办法。还有一个问题,就是 ArcGIS 中对点的 Label 可 以选择 Label 的位置,而对面没有,缺省是放置在中间,现在希望放置在左上角,还没有找 到该怎么办。 下面是一个 VBS 的代码可以试试。 Function FindLabel ( [OBJECTID], [SHAPE_Area] ) Dim nFMLength Dim nFZLength nFMLength = Len([SHAPE_Area]) nFZLength = Len([OBJECTID]) Dim strLeftSpace Dim strRightSpace strLeftSpace = "" strRightSpace= "" If nFMLength > nFZLength Then For i=0 To (nFMLength-nFZLength)/2 strLeftSpace =strLeftSpace +chr(32) strRightSpace =strRightSpace + chr(32) Next End If FindLabel = "<UND>" &strLeftSpace & [OBJECTID]&strRightSpace& "</UND>"&chr(13)&chr(10)& [SHAPE_Area] End Function 41.用点构面 ArcToolBox->Samples->Data Management->Features->Create Features From Text File 点组成面,最重要的是点序的排列,因此对数据的组织有一定的要求。 42.几个常用的 VBA 代码 在 ARCGIS 属性表中增加需要的字段,并自动赋值 使用方法 1 打开属性表,选择计算的字段,右点选择 Calculate Values; 2.选择 “是” 进入 Field Calculator; , 2 选择 Advance 选项; 3 在 Pre-Logic VBA Script Code 编辑框中输入 VBA 代码; 4 在下面编辑框中输入赋值部分. 1--点坐标 X VBA 部分:

Dim pGeo As IGeometry Set pGeo = [Shape] Dim pPoint As IPoint Set pPoint = pGeo 赋值部分: pPoint.X 2--点坐标 Y VBA 部分: 同上 赋值部分: pPoint.Y 坐标值为文件存储的固有值,和是否使用 On the Fly 坐标表示无关。 返回当前显示的坐标值参 看 8,9 3--多边形周长 VBA 部分: Dim pGeo As IGeometry Set pGeo = [Shape] Dim pPolygon As IPolygon Set pPolygon = pGeo 赋值部分: pPolygon.Length 4--多边形面积 VBA 部分: Dim pGeo As IGeometry Set pGeo = [Shape] Dim pPolygon As IPolygon Set pPolygon = pGeo Dim pArea As IArea Set pArea = pPolygon 赋值部分: pArea.Area 5--多边形重心 X VBA 部分: Dim pGeo As IGeometry Set pGeo = [Shape] Dim pPolygon As IPolygon Set pPolygon = pGeo Dim pArea As IArea Set pArea = pPolygon Dim pPoint As IPoint Set pPoint = pArea.Centroid 赋值部分: pPoint.X 6--多边形重心 Y

VBA 部分: 同上 赋值部分: pPoint.Y 7--Polyline 长度 VBA 部分: Dim pGeo As IGeometry Set pGeo = [Shape] Dim pPolyline As IPolyline Set pPolyline = pGeo Dim pCurve As IPolycurve Set pCurve = pPolyline 赋值部分: pCurve.Length 8--表示点坐标 X VBA 部分: Dim pDoc As IMxDocument Set pDoc = ThisDocument Dim pSpRef As ISpatialReference Set pSpRef = pDoc.FocusMap.SpatialReference Dim pClone As IClone Set pClone = [Shape] Dim pGeo As IGeometry Set pGeo = pClone.Clone Dim pPoint as IPoint Set pPoint = pGeo pGeo.Project pSpRef 赋值部分: pPoint.X 9--表示点坐标 Y VBA 部分: 同上 赋值部分: pPoint.Y 坐标值为 On the Fly 显示的坐标,不是文件存储的固有坐标 10--连续编号 VBA 部分: Static lCount as long lCount=lCount+1 赋值部分: lCount (从 1 开始) lCount-1 (从 0 开始) 计算面的中点 Dim Output As Double

Dim pArea As IArea Set pArea = [Shape] Output = pArea.Centroid.X(或 y) 当然这是很老的方法了,现在 arcgis9.2 以后都不需要用 VBA 啦,右键属性表字段然后直接 选择 Caculate Geometry 就可以实现比如面积计算,X,Y 坐标等的属性赋值了咯。 43. 在同一图层如何对同一要素的不同部分以不同的符号表示 (注:要实现这种渲染需要两段具有不同的属性) 44.自己做 arcMAP 的图例 在 Symbol property Editor 中进行制作了 1) 、先在 Style Manager 中的左侧列表中,选择相应的 Style 文件,ArcGIS 默认的符号库文 件是 ESRI.Style 文件,当然也给出了 C:\Documents and Settings\........................................目录 下用于用户自定义的 Style 文件 2) 、展开 Style 文件,选择要创建 Symbol 的类型,如:Fill Symbol(面填充) 、Line Symbol (线) 、Marker Symbol(点) 然后在右侧的列表中鼠标右键->New 3) 在弹出的 Symbol Property Editor 窗体中, 、 进一步选择 Marker Symbol 的类型, Simple 如: Marker Symbol、Picture Marker Symbol 等等 4) 、这个时候就要根据需要开始设计符号的各种属性了,由于不同种类的 Marker Symbol 有 不同的属性,因此,属性也会不尽相同。 5) 、另外介绍一个经常需要或比较使用的步骤,我们需要设计的符号可以由 ESRI 提供的现 有符号组合而成,那么我们则需要添加 2 个 Symbol Layer,然后进行 2 个 Symbol Layer 的 叠加 6) 、分别设置上述 2 个 Symbol Layer 的中的 Symbol 的属性,之后确认保存,这样会在 Style Manager 中看到我们新制作的符号 如图: (注:以上内容转载自 ESRI 社区 gis27) 45.计算属性中相同的字段个数 选择要计算的字段然后右键选择 Summarize 根据相应的要求设置参数即可实现。功能示意 如下图: 46.自动提取面的中点并加点 Arctoolbox->Feature-> Feature to Point 47.合并属性相同的相邻图斑 使用 Dissolve 当选择了 create multipart feature 时,所有具有相同属性的图斑将链接在一起做为一个图斑。 48.提取图斑转折点坐标 如果没有伪节点那么,选中一个线或者面,打开 sketch Properties,就可以看到节点坐标。 还有一种方法就是: 通过 toolbox-datamanagement-feature-FeatureVerticesToPoints 得到转折点 的图层然后 Add XY Coordinates,该点图层的属性表中就包含了 X,Y 字段,将其导出,就得 到转折点坐标了。


相关文章:
arcgis快捷键及技巧
arcgis快捷键及技巧_建筑/土木_工程科技_专业资料。ArcGIS 编辑操作的常用快捷键一览表 在 ArcMap 中,快捷键与一些编辑工具和命令相关联。使用快捷键能使 编辑工作...
Arcgis中常用的快捷键
Arcgis 中,编辑的一些常用的快捷键一、公共快捷键(对所有编辑工具有效): Z:放大 X:缩小 C:漫游 V:显示节点 ESC:取消 Ctrl+Z:撤销 Ctrl+Y:重做 SpaceBar:...
ArcGIS编辑操作的常用快捷键一览表
ArcGIS 编辑操作的常用快捷键一览表 2011-04-01 10:52:16| 分类: 专业知识|字号 订阅 在 ArcMap 中,快捷键与一些编辑工具和命令相关联。使用快捷键能使编辑...
Arcgis常用快捷命令设置
Arcgis 常用快捷命令设置一、公共快捷键: Z:放大 、X:缩小 C:漫游 V:显示节点 ESC:取消 Ctrl+Z:撤销 Ctrl+Y:重做 SpaceBar:暂停捕捉 二、编辑工具: Shift:...
ArcGIS编辑操作的常用快捷键
ArcGIS编辑操作的常用快捷键_IT/计算机_专业资料。ArcGIS 编辑操作的常用快捷键在 ArcMap 中,快捷键与一些编辑工具和命令相关联。使用快捷键能使编辑工作更加快捷有...
ARCGIS实用快捷键大全
ArcGIS常用技巧 85页 2下载券 arcgis常用技巧 35页 免费 arcgis实用学习资料 21页 免费 实用ARCGIS进行缓冲区分... 34页 1下载券 快捷键大全(实用版) 8页 免费...
arcGIS使用快捷键
编辑时一些常用的快捷键 1)、Sketch 工具: ) 工具: Ctrl+A:方位 Ctrl+F:...arcgis快捷键及技巧 16页 1下载券 ArcGIS编辑操作的常用快... 9页 免费 arcgis...
ArcGIS编辑快捷键
ArcGIS编辑快捷键_电脑基础知识_IT/计算机_专业资料。ArcGIS编辑快捷键ArcGIS 编辑快捷键 可使用键盘快捷键从编辑环境内部执行某些功能。以下各部分列出了适用于每种编...
ArcGIS中可在编辑时使用的键盘快捷键
ArcGIS中可在编辑时使用的键盘快捷键_电脑基础知识_IT/计算机_专业资料。可在编辑时使用的键盘快捷键可使用键盘快捷键从编辑环境内部执行某些功能。以下各部分列出了...
arcgis操作技巧
arcgis操作技巧_计算机软件及应用_IT/计算机_专业资料。一、Creat task 建立任务...编辑时一些常用的快捷键 一、公共快捷键(对所有编辑工具有效): 在编辑未完成时...
更多相关标签:
arcgis快捷键设置 | arcgis快捷键 | arcgis自定义快捷键 | arcgis捕捉快捷键 | arcgis怎么设置快捷键 | arcgis合并快捷键 | arcgis操作技巧 | arcgis实用制图技巧 |