前往顾页

ArcMap利用技能年夜全

时候:2012-08-18 22:43来源:知行网www.zhixing123.cn 编辑:麦田守望者

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]

Output = 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. 增加节点

Task任务栏 Modify feature 在需求加点的处所右键单击insert vertex

也可单击右键挑选properties 翻开edit sketch properties对话框 在坐标点地位右键拔出节点

9. 共享多边形天生

Task任务栏 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文件去除一些不兼容的内容再连接。

12. 导出Shape格局为其他软件辨认的打印格局如JEPG等格局

File/Export Map 然后挑选呼应的图片格局,此时也可设置辩白率dpi

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 停息捕获

2、编辑东西:

Shift:增加至/打消挑选 Ctrl:挪动挑选锚 N:下一个被选要素

3、用于Edit东西的与注记相关的疾速键:

E:在Sketch东西、Edit东西和Edit Annotation东西间切换;

4、Edit Annotation东西:

Shift:增加至/打消挑选 Ctrl:挪动挑选锚 N:下一个被选要素 R:切换至扭转形式/从扭转形式切换 F:切换至要素形式/从要素形式切换

E:在Sketch东西、Edit东西和Edit Annotation东西间切换 L:在跟踪要素形式下将选中的注记要素扭转180度

O:在跟踪要素形式下翻开Follow Feature Options 对话框

Tab:在跟踪要素形式下对注记安排的地位进行摆布边的切换

P:在跟踪要素形式下对注记安排的角度进行平行和垂直标的目标的切换。

5、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:点+线,点都在线上

37.给多个要素同一赋值

选中你需求同一赋值的是所有图斑,然后点击Atrributes,此时呈现属性点窜对话框,点击根目次是对所有要素同一赋值,点击下面的支目次则可以别离赋值。(也能够用字段计较器实现)

38.若何按照肯定的点画出以他呼应的点

比方:喂授舆图上已晓得了一个已知点,而其他的点在舆图上都是以他为中间画出来的。黉舍SE60度,140米,意义是黉舍在中间点南偏东60度,间隔是140米,如许的点在arcmap中怎样加呢?我的体例有二别离以下。

1)肯定已有一个点图层,此中有黉舍,然后:

对该图层开端编辑

挑选东西栏editor---direction-distance tool

以中间点为中间,先画角度线(arcmap左下角会有角度提示),再画间隔/半径(注:画的过程中点击A键可以输入角度值,点击D键可以输入间隔值)

肯定,便可

如果找不到direction-distance tool 的同道请看下面

 

 

 

Direction-distance tool is here

 

 

 

2)直接编写代码实现

下面是一段示例的VBA代码

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 换行

之前用ArcGIS Label一般也就在图层的Properties内里定义一下Label字体年夜小和粗细。这两天碰到一个问题,需求在Label中显现多个字段的内容,比如BlockName和CompanyName。其实这个原本不是很难的问题,因为Label中支撑VB,利用[BlockName] & VbNewLine & [CompanyName]。便可以实现标注中第一行显现BlockName,第二行显现CompanyName.

现在问题出来了,出图时候希望凸起BlockName结果,希望加粗显现,而CompanyName利用一般字体。考虑了很长时候终究从ArcGIS帮忙中找到了相关的内容,本来Label的VB内里支撑近似于Html的VB标签,比如加粗就是用<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>"

Super

"<SUP>" & [LABELFIELD] & "</SUP>"

Sub:

"<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的代码可以尝尝。

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

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 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中看到我们新制作的标记

45.计较属性中不异的字段个数

选择要计较的字段然后右键挑选Summarize按照呼应的请求设置参数便可实现。

46.主动提取面的中点并加点

Arctoolbox-Feature-Feature to Point

47.归并属性不异的相邻图斑

利用Dissolve,被挑选create multipart feature时,所有具有不异属性的图斑将链接在一路做为一个图斑。

48.提取图斑迁移转变点坐标

如果没有伪节点,那么,选中一个线或面,翻开sketch Properties,便可以看到节点坐标。

另有一种体例就是:经由过程Toolbox-Datamanagement-Feature-Feature VerticesTo Points获得迁移转变点的图层,然后Add XY Coordinates,该点图层的属性表中就包含了X,Y字段,将其导出,就获得迁移转变点坐标了。

------分开线----------------------------
标签(Tag):Arcgis
------分开线----------------------------
保举内容
猜你感兴趣