获取或设置矢量数据绘制时,是否过滤重叠小对象,默认值为false,表示不过滤。

命名空间:  SuperMap.Mapping
程序集:  SuperMap.Mapping (in SuperMap.Mapping)
版本: dll

语法

C#
public bool IsOverlapGeometryEnabled { get; set; }

备注

  • 什么是重叠小对象?

对象的Bounds的长宽同时小于重叠小对象阈值(Layer.OverlapGeometryThreshold),该对象被视为小对象。OverlapGeometryThreshold属性值的有效范围为[1,10],单位为像素。而重叠小对象是在指定的单位像素区域 (一个正方形区域,正方形边长等于Layer.OverlapGeometryPixel属性值),若该区域内绘制了多个小对象(小对象Bounds的中心点在这个正方形区域,则认为该小对象绘制在了该区域内。),就认为这些小对象为重叠小对象。OverlapGeometryPixel属性值的有效范围为[1,10],单位为像素。

  • 过滤重叠小对象

过滤重叠小对象,是指在绘制图层中的小对象时,单位像素区域只进行一次绘制,因此,该区域只会显示一个小对象,其他重叠小对象不显示。通过下面的示意图,可以帮助您理解过滤小对象功能。

假设:重叠小对象阈值(OverlapGeometryThreshold)设置为8像素,Bounds长和宽都小于8像素的对象参与过滤;指定单位像素区域为边长8像素的正方形区域(OverlapGeometryPixel),单位像素区域的起算点为地图窗口左上角点。如图3所示,基于设定的单位像素区域,对地图窗口划分了规则的格网,以绘制图中第2行第2列区域的对象为例,假设标记紫色箭头的对象先于标记红色箭头对象绘制,当绘制紫色箭头所指对象时,判断该对象为小对象,中心点位于正方形区域内,并且判断该正方形区域没有绘制其他小对象,则该小对象保持显示,同时,标记该区域已绘制了小对象;当绘制红色箭头所指的对象时,该对象也为小对象,中心点在正方形区域内,但是该区域已经标记有小对象绘制,所以该对象不显示。

图1 未过滤重叠小对象

图2 过滤重叠小对象OverlapGeometryThreshold=8 OverlapGeometryPixel=8

图3 过滤重叠小对象的过程示意图

过滤重叠小对象可以降低大量小对象在小比例尺下的显示耗时。过滤重叠小对象与通过对象最小尺寸来过滤小对象的区别在于:显示对象的最小尺寸设定后,所有小于这个最小尺寸的对象都将不显示,这会导致地图显示时,小对象集中的大片区域没有对象可显示;而过滤重叠小对象可以保证在单位像素区域内至少有一个小对象显示,避免了小对象集中的大片区域没有对象显示的问题。

请参见