Maplex是ArcGIS的高级智能标注引擎,利用Maplex的牵引线标注,将Symbol做为label显示,从而使点符号与文字标注绑定在一块儿,经过调整阈值自动进行标注间避让,计算出地图上全部标注的最佳放置位置,达到点抽稀的目的。编辑器
主体思路:Maplex中对label有很好的显示控制,一旦显示symbol,则会出现symbol存在、label不存在,而且可能存在symbol互相叠置的现象;若是不显示symbol,那么就没问题。是否能让symbol做为label一块来显示,经过maplex来控制?研究的结果是可行的,方法以下:工具
一、使用Maplex标注引擎,在label manager中选择要显示的点图层。此处可点击Text symbol中的symbol,在symbol selector中选择bullet leader。大数据


二、选择以后点击Properties,进入编辑器。url

三、选择Advanced text选项卡,点击Text background的properties。spa

四、进入Text background属性编辑器,在line callout中选中leader,点击Symbol。插件

五、在symbol selector对话框中点击properties。3d
六、在symbol property editor中的type选择Marker line symbol。htm

七、在cartographic line 选项卡中color设置为无色,template选项卡中偏移一个位置。blog

八、在Line properties选项卡中line decorations中选择第二项,点击Porperties

九、在line decoration editor中选中Flip All和Flip First,Rotation中选择第二项,点击symbol。

十、在symbol selector中选择要表达该POI点的符号。(同标准的符号操做同样)。用properties进行更多设置。

十一、逐步OK以后,在第4步操做的面板中设置牵引线的容限与间隔。容限值及间隔的设置,可参照“1三、补充说明”部分。

十二、Maplex抽稀先后效果以下:
点抽稀前

抽稀后

1三、补充说明
点抽稀时有以下几个关键值
1)label offset:地图上点到对应标注的距离。

2)牵引线的容差(Leader Tolerance)和间隔(Gap)

Leader tolerance是使牵引线出现时中心点到标注的最短距离(offset),若是offset < Leader tolerance,牵引线将消失。咱们要利用牵引线来进行点抽稀,因此应该设置Leader tolerance <= offset,可设置Leader tolerance = 0。
3)线段符号大小(即箭头符号大小Symbol Size)
4)它们之间的长度关系以下图:

为了达到较好的标注效果,应设置:offset > Gap symbol size (通常可设置Gap=0,offset为symbol size的1.5倍),同时须要注意勾选从要素的几何中心开始计算偏移,以下图,不然转出MSD时会使标注离中心点的距离太远。

2、Subset点抽稀
Subset Features工具是ArcGIS地统计分析模块的一个工具,该工具可将数据按照百分比进行抽稀,生成两个结果数据集,一个是抽稀后保留的数据,另外一个是互补的那一部分数据。使用步骤以下。
一、在扩展模块面板中,勾选地统计分析扩展模块(Geostatistical Analyst),以下图所示。

二、从地统计工具箱(Geostatistical Analyst Tools)中或者Geostatistical Analyst工具条中,选择打开Subset Features对话框,以下图所示。


三、在Subset Features对话框中,输入要抽稀的图层与相应的参数,以下图所示,其中,训练要素类为默认保留的子类,其大小可在“训练要素子集的大小(可选)”进行选择。默认按照百分比设置输出大小,也能够在“子集大小单位(可选)”中设置按照数量进行输出。点击肯定后,将在原始数据的基础上按照设置的百分比或者输出数量,生成保留的子集。

4.SubSet工具使用先后结果对比

抽稀前

抽稀后(百分比为30%)
3、SubPoints点抽稀
Sub Points工具是Esri中国自主开发的一个插件,该工具优先考虑点在空间分布上的均匀合理性,并结合点数据中包含的“优先级”属性进行筛选。经过获取每一个点在必定范围内拥有的相邻点的数目信息,获得地图中点密度的分布情况。抽稀时在若干相临近的点中首先比较优先级,保留优先级高的;优先级相同时比较NAME字段,保留NAME长度短的;二者都相同时随机选择。
使用Sub Points进行点抽稀的数据,必须包含“优先级”和“name”两个字段。其中优先级用来设置数据的重要性,在抽稀过程当中综合考虑数据的优先级别。
1.1安装与部署
一、首先将GPSubPoints.dll及“注册插件”文件拷贝到本机目录下,而后根据实际存放目录编辑修改“注册插件”中GPSubPoints.dll的存放路径"D:\Program Files (x86)\ArcGIS\Desktop10.0\Bin\GPSubPoints.dll",以下图所示。

修改保存后,双击“注册插件”文件,将出现如下对话框。

二、注册完成后能够在ArcCatalog中新建一个ArcToolbox,以下图示。

而后向其中添加工具,以下图所示。

在弹出的“添加工具”对话框中,选择注册好的Sub Points工具,选中后便可完成添加。以下图所示。

从下图能够看到,刚新建的工具箱中会出现刚添加的GP工具,双击或右键点击打开便可使用了。

也能够将这个工具添加到ArcToolbox的列表中,方便之后直接调用。

1.2Sub Points 使用
一、先利用Point Distance工具计算临近要素,以下图所示。

Point Distance工具运行结果为一张记录某点在必定距离(好比100米)到范围内相邻点的距离的表,以下图所示。

临近要素表
二、原数据中创建“优先级”(short)字段,并给“优先级”字段赋值;

三、运行Sub Points工具计算status的值,在Input PointDistance Table中输入第一步生成的临近要素表。Input Feature中,输入待抽稀的要素图层。

运行该工具后,将生成status字段,并根据优先级以及临近要素表给status赋值。以下图所示。

四、对于status > -99的值,表示要保留显示的要素;对于status = -99的值,表示要删除或者不在地图上显示的要素。可经过定义查询操做来控制地图显示内容,以下图所示。也能够直接删除不显示的要素。

五、Sub Points使用先后效果图

抽稀前

抽稀后
4、总结
经过对三种方法的探究,得出以下结论:
Maplex自动点抽稀方法,方便快捷,只需对图层标注样式进行设置便可完成点抽稀。不足之处在于点符号显示位置与实际位置存在误差,以下图所示(红色符号为点的真实位置,绿色符号为抽稀后点的显示位置)。

若是POI单纯用于底图浏览,而且对数据精度没有特别高的要求可采用这种方式。
使用Subset工具执行效率较高,但该方法保持了原图的疏密程度,并不能使数据均匀分布,原有数据密度高的地方抽稀后仍是较密,所以单纯利用该工具难以实现底图上的抽稀效果。
Sub Points点抽稀方法能达到比较好的图面效果,而且能保持点位的精确,可是大数据量时(超过100000条)耗时较长。
所以,对于大数据量POI,为了兼顾图面效果、数据精确性以及执行效率,建议采用Subset与Sub Points相结合的方法。首先经过Subset方法进行空间上的抽稀以减小数据量,再利用Sub Points方法进行抽稀以达到较好的制图效果。
总之,三种抽稀方法各有优缺点,在实际应用中可根据须要,选择合适的抽稀方法。