util~RepetitionFilter()

重复过滤器,需要先将基础要素添加到过滤器中,然后可以检测一个元素是否在这个集合中,也可以通过比较两个过滤器的差异,查找出差集、并集的部分。

Summary

Methods:
getHashCode

根据Object对象或者矢量要素的样式、几何、属性构建唯一值HashCode

addFeature

向过滤器中添加一个矢量要素,矢量要素的样式受所在图层样式影响,因此当要素不包含样式时,需要传入图层以确定最终的样式。

addFeatures

向过滤器中添加一个矢量要素数组,矢量要素的样式受所在图层样式影响,因此当要素不包含样式时,需要传入图层以确定最终的样式。

diff

比较两个过滤器中不同的要素

getFeatureByHashCode

根据哈希值获取过滤器中某个要素,这里我们认为几何、属性、样式都相同的要素为同一个要素,用于删除
矢量要素的样式受所在图层样式影响,因此当要素不包含样式时,需要传入图层以确定最终的样式。

hasFeature

判断过滤器中是否包含某个要素,这里我们认为几何、属性、样式都相同的要素为同一个要素,
矢量要素的样式受所在图层样式影响,因此当要素不包含样式时,需要传入图层以确定最终的样式。

removeAll

清空过滤器中所有的要素

removeFeature

向过滤器中移除一个矢量要素,矢量要素的样式受所在图层样式影响,因此当要素不包含样式时,需要传入图层以确定最终的样式。

removeFeatures

向过滤器中移除一个矢量要素数组,矢量要素的样式受所在图层样式影响,因此当要素不包含样式时,需要传入图层以确定最终的样式。

updateFeature

过滤器中更新一个矢量要素,矢量要素的样式受所在图层样式影响,因此当要素不包含样式时,需要传入图层以确定最终的样式。

Constructor

new RepetitionFilter()

Methods

static getHashCode(feature, layer) → {Number}

根据Object对象或者矢量要素的样式、几何、属性构建唯一值HashCode

Parameters:
Name Type Description
feature module:feature~Vector | Object

需要编码的要素或Object

layer module:layer~VectorLayer | undefined

需要编码的要素所在的图层

Returns:
Number -

哈希编码

addFeature(feature, layer)

向过滤器中添加一个矢量要素,矢量要素的样式受所在图层样式影响,因此当要素不包含样式时,需要传入图层以确定最终的样式。

Parameters:
Name Type Default Description
feature module:feature~Vector | Object

需要添加的要素或Object

layer module:layer~VectorLayer | undefined null

需要添加的要素所在的图层

addFeatures(features, layer)

向过滤器中添加一个矢量要素数组,矢量要素的样式受所在图层样式影响,因此当要素不包含样式时,需要传入图层以确定最终的样式。

Parameters:
Name Type Default Description
features module:feature~Vector | Object

需要添加的要素或Object数组

layer module:layer~VectorLayer | undefined null

需要添加的要素所在的图层

diff(过滤器对象) → {Array}

比较两个过滤器中不同的要素

Parameters:
Name Type Description
过滤器对象 module:util~RepetitionFilter
Returns:
Array -

结果数组,数组第一个元素为当前过滤器中仅有的要素,数组第二个元素为两个过滤器中都有的要素,数组第三个元素为参数过滤器中仅有的要素

getFeatureByHashCode(hashCode) → {module:feature~Vector|Object}

根据哈希值获取过滤器中某个要素,这里我们认为几何、属性、样式都相同的要素为同一个要素,用于删除
矢量要素的样式受所在图层样式影响,因此当要素不包含样式时,需要传入图层以确定最终的样式。

Parameters:
Name Type Description
hashCode Number

要素或者Object的哈希值

Returns:
module:feature~Vector | Object -

获取的要素或者Object

hasFeature(feature, layer) → {Boolean}

判断过滤器中是否包含某个要素,这里我们认为几何、属性、样式都相同的要素为同一个要素,
矢量要素的样式受所在图层样式影响,因此当要素不包含样式时,需要传入图层以确定最终的样式。

Parameters:
Name Type Description
feature module:feature~Vector | Object

需要检测的要素或者Object

layer module:layer~VectorLayer | undefined

需要检测的要素所在的图层

Returns:
Boolean -

是否包含

removeAll()

清空过滤器中所有的要素

removeFeature(feature, layer)

向过滤器中移除一个矢量要素,矢量要素的样式受所在图层样式影响,因此当要素不包含样式时,需要传入图层以确定最终的样式。

Parameters:
Name Type Description
feature module:feature~Vector | Object

需要移除的要素或者Object

layer module:layer~VectorLayer | undefined

需要移除的要素所在的图层

removeFeatures(feature, layer)

向过滤器中移除一个矢量要素数组,矢量要素的样式受所在图层样式影响,因此当要素不包含样式时,需要传入图层以确定最终的样式。

Parameters:
Name Type Description
feature module:feature~Vector | Object

需要移除的要素或Object数组

layer module:layer~VectorLayer | undefined

需要移除的要素所在的图层

updateFeature(feature)

过滤器中更新一个矢量要素,矢量要素的样式受所在图层样式影响,因此当要素不包含样式时,需要传入图层以确定最终的样式。

Parameters:
Name Type Description
feature module:feature~Vector | Object

需要添加的要素或Object