目录
目的
实现步骤
功能介绍
功能入口
关键参数
结果
问题延伸
目的
我们在配图的时候,会遇到一种特定的需求:需要对点设置一个风格,并且符号风格自动跟相连或者相交的线保持垂直。
这种是否能够在SuperMap iDesktopX中自动实现呢,答案是肯定的,接下来就跟着我一起来看看是如何实现的吧。
我们都知道,在iDesktop中,是通过给图层设置风格来对对象赋予风格,下面就是对点图层设置目标风格后的默认效果。所有的点都是指向同一个方向。项目真实的需求,是需要目标风格跟线为垂直关系。
实现步骤
功能介绍
接下来就先介绍一个iDesktopX中的一个超实用功能,名称叫做“点匹配线方向”,“点匹配线方向”功能可计算点到最近线对象的垂线角度、距离等,计算结果会在点数据集属性表中,记录角度、距离、邻近线ID等信息,然后自动生成自定义专题图,并自动关联计算结果中的点风格和旋转角度。
功能入口
大家可以直接在功能搜索框中进行搜索。也可以直接在界面上按照下面的路径去找到
关键参数
● 点数据集:(必设参数)设置需根据线数据旋转点符号方向的点数据集。
● 线数据集:(必设参数)设置点数据的参考线数据,注意:线数据集的坐标系需与点数据集一致。
● 点风格:(必设参数)单击右侧点符号按钮,在弹出的点符号选择器对话框中,设置创自定义专题图中需使用的点符号及其风格,详细说明请参见点符号选择器页面。单击恢复默认可将点风格恢复到默认风格。
● 最大距离:(可选参数)点到最邻近线的垂距若大于该值,则该点不参与计算。
结果
该功能的计算结果分为两个部分:
(1)、 我们执行功能后,地图中,会发现地图中新增加了一个图层,该图层根据图层前面的图标符号可以判断为专题图,我们选中图层后,鼠标右键“修改专题图”,可以在右边弹出的专题图窗口看出该专题图为自定义专题图,专题图中设置了符号风格、颜色、大小为刚刚执行功能时设置的符号风格。并且设置有一个旋转角度字段“Angle”,该字段表示什么含义,如何来的,请参考下面结果2
(2)、 选中我们刚刚参与计算的点数据集,鼠标右键“浏览属性表”,可以看到,属性表中新增了几个字段,这几个字段就是在执行功能后字段生成的。
● 邻近线ID(线数据集名_ID):最近的线对象 ID;
● 距离(Distance):表示点对象到最邻近线对象的距离,单位与数据集单位一致;
● 垂点坐标(ProjectPoint_X、ProjectPoin_Y):表示垂点的X、Y坐标。
● 线段索引(SegmentIndex):表示邻近线段的索引值;
● 角度(Angle):表示点对象到最近线对象的垂线与正北方向的夹角,即点符号垂直指向线的旋转角度;
从上面的结果就可以看到,我们会自动计算点符号垂直指向线的旋转角度。上一步自定义转图中所使用的也就是该字段。
问题延伸
思考1:如果我们想要的结果是点符号的方向需要与线方向平行,该如何实现呢?
答案:使用相同的功能,只是在自定义专题图的基础上,稍微做一下修改,将旋转角度由Angle改为Angle+90即可。
思考2:如果想要修改显示的符号风格,该如何实现?
答案:去点符号库中,找到想要设置的符号风格ID,然后修改自定义专题图中的符号风格参数即可。