基于矢量切片的电子地图配图(八)配置兴趣点

3
分享 2017-09-19
兴趣点(POI,Point of Interest)的配置,难点在于抽稀。需要抽稀的原因是兴趣点数目过多,在某一级别(比例尺范围)下,都显示的话会出现压盖现象。


密集的兴趣点
 
抽稀方法及简单原理
对于抽稀,目前有两种方法可以实现:
  • 方法一:通过处理数据以使兴趣点不压盖。
  • 方法二:通过制图的方式,将符号添加到标注中,通过标注的避让实现抽稀。点击查看ArcMap点抽稀文档


以下是两种方法的优缺点比较:

在ArcMap中,通过定义查询设置好每个级别POI的显示内容,再通过点抽稀的方法实现抽稀,保存mxd文档后,可以导入到ArcGIS Pro中。但是又出现了我们一开始提到的问题,几何会存在空间上的重叠。

定义每个级别显示的内容(左);对标注分类,每类配置不同的符号(右)
 
ArcGIS Pro目前还不支持将符号添加到符号中实现点抽稀。没关系,还是有解决方法的。

如果我们知道每个级别显示的抽稀后的POI有哪些,新建个字段进行标识。依据这个标识字段,就可以在ArcGIS Pro中进行配置了。



思路如下:
1、ArcMap中,对POI设置点抽稀,标注显示在符号的周围的最佳位置;

(左)源数据;(中)设置点抽稀;(右)设置标注位置
 
2、为了获取标注显示的位置及对应的对应POI的ObjectID,将不同级别的POI图层标注分别转为注记;

(左)转注记;(中)2万比例尺下注记;(右)1万比例尺下注记


注记的属性表

3、一个POI点可能在各个级别下都显示,将首次出现的级别对应的比例尺写入新建字段中。这个值是该级别下最小可见比例尺。

比例尺的值写入Scale字段

以上思路是领导想出来了,配图的筒子们有福的,因为领导还给配套了GP工具,哇哈哈O(∩_∩)O。接下来我们来看操作步骤吧。

抽稀操作步骤
操作分两种情况:
  • 一是针对已经在ArcMap中配置好的POI图层(如我们的北京案例);
  • 二是针对没有配置的,仅有一个POI要素类的处理。


先分享下我们要用到的POI处理工具(链接:https://pan.baidu.com/s/1bpD7iSv 密码:jnp1),然后再讲怎么用。抽稀操作需要在ArcMap中进行。


用于辅助POI标注的配置


先将Label注记,再获得抽稀结果

情况一:针对已配置好的POI图层

1、标注转注记。 对于已经配置好的POI,我们可以直接运行VectorTileBaseMapTools工具箱里的多比例标注转注记FGDB。

多比例标注转注记

参数解释如下:
  • mxd:输入的是我们已经配置好的mxd
  • 比例尺列表:输入比例尺列表,用逗号分隔开
  • 输出的FGDB:输出的FGDB路径及名称(注意不要加扩展名.gdb)

结果会生成mxd里所有图层的注记,会花一点点时间。所以,可以另存一个mxd,移除POI以外的图层,会节省一点时间。



2、抽稀 运行VectorTileBaseMapTools工具箱里的根据注记获得数据抽稀结果,加载刚才生成的关于POI的所有注记。



输出的结果是一张表。FeatureID是原POI要素类的OBJECTID,Scale是某级别比例尺下的最小值。

输出结果

3、将这个比例字段连接到POI要素类中 使用GP工具Join Field(连接字段),将Scale字段添加到POI要素类中。



OK,ArcMap中的操作结束了。

情况二:针对仅有一个POI要素类的情况

那么如果没有配置好的mxd,我们先使用辅助配置POI标注的工具,配置好后,再重复上面的三步就可以了。

使用配置POI标注工具时,需要几个参数:
  • 标注字段;
  • 分类标注中各类的名字,如下图中的ATM、学校、医院等;
  • 各类别的查询表达式,如下图中,POI中哪些点表示ATM;
  • 各类别显示的比例尺,比如学校医院比较重要,从第10级就开始显示,ATM可能要从16级才开始显示。




这几个参数我们放到一张表里,输入相应的参数,只要维护表就可以了。云盘中有一张sample表,如下。

sample表
  • classname:对应分类标注中各类的名字;
  • aaa:对应各类别的查询表达式。需要注意的是,aaa还是Label Field(标注字段)的参数,如果标注字段是名称,那么aaa需要改为名称两个字。
  • minScale:最小可见比例尺;
  • maxScale:最大可见比例尺。



修改后的Sample表

准备工作已做好,可以开始使用插件了。

1、ArcMap中加载插件。点击菜单栏【Customize】—【Add-In Manager】,选择【Options】标签,选择插件所在的位置。

添加插件

2、将插件拖拽到工具条上。如果Add-in Manger关掉了,可以点击菜单栏【Customize】—【Customize Mode】打开Customize对话框。


3、选择POI图层,加载csv表格,点击Generate Label。

工具界面

然后图层属性,Label标签下可以查看结果:

(左)POI的原始Labels页面;(右)配置后结果

保存mxd,然后按照情况一:针对已配置好的POI图层中的步骤操作即可。

ArcGIS Pro里配置过程

还是通过我们的案例进行介绍。这里我们会用到显示过滤器设置比例范围内的可见要素。

注意:
如果你准备好了符号库(Style)文件,且你的POI里有字段标识使用的符号,那么请先移步到这个流程后,有介绍POI进行唯一值渲染后,如何快速给每类匹配上对应的符号的简单方法。


1、把POI图层从图层组中拖拽出来。POI从11级开始显示,设置POI图层符号和标注的可见范围。

设置符号的最小可见比例尺

2、去掉图层的定义查询表达式。如果没有设置定义查询,可跳过此步。


3、打开Symbology面板,调出显示过滤器面板。

显示过滤器面板

4、勾选Enable dispalay filter。与优化符号类的可见比例范围设置方法类似,通过添加显示过滤器,先把所有级别都加好,再进行重命名。
 
注意:此设置不能单独保存为一个文件,以进行再次导入使用。



5、为每一级别添加查询表达式。点击级别前面的“+”,然后点击Add Clause,添加查询表达式,这就用到我们Scale字段了。写完后点击Add添加。


6、为每一类标注设置位置。可以选择最佳、右侧、左侧等。


7、为每一类选择符号。 默认是使用背景注释,矢量切片不支持。

默认的背景注释

可以将每个类别的注释类型改为None。再进行唯一值渲染,为每类选择符号(偷懒了,只选了4类)。

配置符号

8、设置标注换行。最好的方法是使用表达式换行,空格等符号换行,矢量切片不支持。


代码如下:
Function FindLabel ( [名称] )
if len( [名称] ) > 6 Then
FindLabel =mid( [名称] ,1,int( len( [名称] ) / 2)) + chr(13) + mid( [名称] , int(len( [名称] ) / 2)+1,(len( [名称] )- int(len( [名称] ) / 2)))
else
FindLabel = [名称]
end if
End Function




以上是ArcGIS Pro里配置的基本流程。如果类别过多,为每一类选择符号也有点麻烦,有个稍微简单一点的方法。思路是在ArcMap里进行唯一值渲染,导出lyr文件,加载到ArcGIS Pro中,替换数据源,再设置显示过滤器。

1、在ArcMap中对POI进行唯一值渲染,使用匹配符号的方式。(ArcGIS Pro里没有此方式)


点击Add Value后,选择Complete List,然后选中所有类别,点击OK。再为没有匹配上符号的点选择符号。当然,如果类别符号中的名字和Style符号都能一一匹配上,就不用修改啦。


2、为此图层设置显示标注后,再导出为lyr文件。图层,右键,选择【Save Layer File】。


好了,将此文件加载到ArcGIS Pro中,再进行相关设置就可以了。

PS:这篇写的有点啰嗦,实在不知道怎么写了,欢迎提建议~

文章来源:http://blog.csdn.net/ceibake/a ... 24115
 
基于矢量切片的电子地图配图(一)为什么要重新配图?:http://zhihu.esrichina.com.cn/article/3329
基于矢量切片的电子地图配图(二)示例数据来源:http://zhihu.esrichina.com.cn/article/3330
基于矢量切片的电子地图配图(三)配图准备:http://zhihu.esrichina.com.cn/article/3331
基于矢量切片的电子地图配图(四)配置基础要素:http://zhihu.esrichina.com.cn/article/3332
基于矢量切片的电子地图配图(五)显示行政区划名称:http://zhihu.esrichina.com.cn/article/3339
基于矢量切片的电子地图配图(六)关于字体:http://zhihu.esrichina.com.cn/article/3340
基于矢量切片的电子地图配图(七)配置水系:http://zhihu.esrichina.com.cn/article/3433
基于矢量切片的电子地图配图(八)配置兴趣点:http://zhihu.esrichina.com.cn/article/3435

0 个评论

要回复文章请先登录注册