ArcGIS Engine 实现注记引线的设置

需求描述:

因为注记在地图上标注会出现冲突的情况,所以需要将冲突的注记移植没有冲突的位置,当移出的位置超过一定距离后,就需要添加引线,来明确标注位置关系。目标效果,如图:

ArcGIS Engine 实现注记引线的设置_第1张图片

如何解决问题:

找到关键词,引线注记,英文为Callout,于是,将Callout放到AEdeveloperHelper中,进行搜索,知道这是个什么东西,通过看的过程中,逐步了解其的具体分类、找到自己需要的功能。

Icallout包括了两个公共属性(AnchorPoint、LeaderTolerance),被IBalloonCallout、ILineCallout 、ISimpleLineCallout 所继承,AnchorPoint是锚点,就关联的点;LeaderTolerance是引线的最小长度值。

实现Icallout的类有:BalloonCallout ,LineCallout、SimpleLineCallout。

BalloonCallOut是气泡形的引线标注,LineCallOut是矩形的引线标注,这两个标注的区别于SimpleLineCallOut在于有AnchorBar和BackGround。

需要的是:SimpleLineCallOut,该类主要有四个属性:

            lineCallout.LineSymbol = ldrLine;//引线样式

            lineCallout.AnchorPoint =pFromPoint;//锚点

            lineCallout.LineGeometry = pLine;//引线

            lineCallout.LeaderTolerance =Tolerance;//引线最小值

设置完成后即可得到上面的目标效果。

心得体会

在未知区域寻找目标对象的方法是:一问过来人;二从已有的信息开始入手,找到最概括的层,再了解概括层的所有对象,最后从这些小的对象中找出需要的对象。

 

 

你可能感兴趣的:(GIS,ArcGIS,Engine,CallOut,引线,注记)