com.supermap.mapping

类 LayerHeatmap



  • public class LayerHeatmap
    extends Layer
    热力图图层类,该类继承自Layer类。

    热力图是通过颜色分布,描述诸如人群分布、密度和变化趋势等的一种地图表现手法,因此,能够非常直观地呈现一些原本不易理解或表达的数据,比如密度、频度、温度等。

    热力图图层除了可以反映点要素的相对密度,还可以表示根据属性进行加权的点密度,以此考虑点本身的权重对于密度的贡献。

    热力图图层将随地图放大或缩小而发生更改,是一种动态栅格表面,例如,绘制全国旅游景点的访问客流量的热力图,当放大地图后,该热力图就可以反映某省内或者局部地区的旅游景点访问客流量分布情况。

    • 方法详细资料

      • getKernelRadius

        public int getKernelRadius()
        返回用于计算密度的核半径。单位为:屏幕坐标。
        返回:
        返回用于计算密度的核半径。单位为:屏幕坐标。
      • setKernelRadius

        public void setKernelRadius(int radius)
        设置用于计算密度的核半径。单位为:屏幕坐标。

        核半径在热力图中所起的作用如下所述:

        1) 热力图将根据设置的核半径值对每个离散点建立一个缓冲区。核半径数值的单位为:屏幕坐标;

        2) 对每个离散点建立缓冲区后,对每个离散点的缓冲区,使用渐进的灰度带(完整的灰度带是0~255)从内而外,由浅至深地填充;

        3) 由于灰度值可以叠加(值越大颜色越亮,在灰度带中则显得越白。在实际中,可以选择ARGB模型中任一通道作为叠加灰度值),从而对于有缓冲区交叉的区域,可以叠加灰度值,因而缓冲区交叉的越多,灰度值越大,这块区域也就越“热”;

        4) 以叠加后的灰度值为索引,从一条有256种颜色的色带中(例如彩虹色)映射颜色,并对图像重新着色,从而实现热力图。

        查找半径越大,生成的密度栅格越平滑且概化程度越高;值越小,生成的栅格所显示的信息越详细。

        参数:
        radius - 用于计算密度的核半径。单位为:屏幕坐标。
      • getMaxColor

        public Color getMaxColor()
        返回高点密度的颜色,热力图图层将通过高点密度颜色(MaxColor)和低点密度颜色(MinColor)确定渐变的颜色方案。
        返回:
        返回高点密度的颜色,热力图图层将通过高点密度颜色(MaxColor)和低点密度颜色(MinColor)确定渐变的颜色方案。
      • setMaxColor

        public void setMaxColor(Color color)
        设置高点密度的颜色,热力图图层将通过高点密度颜色(MaxColor)和低点密度颜色(MinColor)确定渐变的颜色方案。
        参数:
        color - 高点密度的颜色,热力图图层将通过高点密度颜色(MaxColor)和低点密度颜色(MinColor)确定渐变的颜色方案。
      • getMinColor

        public Color getMinColor()
        返回低点密度的颜色,热力图图层将通过高点密度颜色(MaxColor)和低点密度颜色(MinColor)确定渐变的颜色方案。
        返回:
        返回低点密度的颜色,热力图图层将通过高点密度颜色(MaxColor)和低点密度颜色(MinColor)确定渐变的颜色方案。
      • setMinColor

        public void setMinColor(Color color)
        设置低点密度的颜色,热力图图层将通过高点密度颜色(MaxColor)和低点密度颜色(MinColor)确定渐变的颜色方案。
        参数:
        color - 低点密度的颜色,热力图图层将通过高点密度颜色(MaxColor)和低点密度颜色(MinColor)确定渐变的颜色方案。
      • setMaxValue

        public void setMaxValue(double vlaue)
        设置一个最大值。当前热力图图层中最大值(MaxValue)与最小值(MinValue)之间栅格将使用MaxColor和MinColor所确定的色带进行渲染,其他大于MaxValue的栅格将以MaxColor渲染;而者小于MinValue的栅格将以MinColor渲染。 如果没有指定最大最小值,系统将自动计算获得当前热力图图层中的最大和最小值。
        参数:
        value -
      • getMaxValue

        public double getMaxValue()
        返回一个最大值。当前热力图图层中最大值(MaxValue)与最小值(MinValue)之间栅格将使用MaxColor和MinColor所确定的色带进行渲染,其他大于MaxValue的栅格将以MaxColor渲染;而者小于MinValue的栅格将以MinColor渲染。
        返回:
        返回一个最大值。当前热力图图层中最大值(MaxValue)与最小值(MinValue)之间栅格将使用MaxColor和MinColor所确定的色带进行渲染,其他大于MaxValue的栅格将以MaxColor渲染;而者小于MinValue的栅格将以MinColor渲染。
      • setMinValue

        public void setMinValue(double value)
        设置一个最小值。当前热力图图层中最大值(MaxValue)与最小值(MinValue)之间栅格将使用MaxColor和MinColor所确定的色带进行渲染,其他大于MaxValue的栅格将以MaxColor渲染;而者小于MinValue的栅格将以MinColor渲染。
        参数:
        value - 一个最小值。当前热力图图层中最大值(MaxValue)与最小值(MinValue)之间栅格将使用MaxColor和MinColor所确定的色带进行渲染,其他大于MaxValue的栅格将以MaxColor渲染;而者小于MinValue的栅格将以MinColor渲染。
      • getMinValue

        public double getMinValue()
        返回一个最小值。当前热力图图层中最大值(MaxValue)与最小值(MinValue)之间栅格将使用MaxColor和MinColor所确定的色带进行渲染,其他大于MaxValue的栅格将以MaxColor渲染;而者小于MinValue的栅格将以MinColor渲染。
        返回:
        返回一个最小值。当前热力图图层中最大值(MaxValue)与最小值(MinValue)之间栅格将使用MaxColor和MinColor所确定的色带进行渲染,其他大于MaxValue的栅格将以MaxColor渲染;而者小于MinValue的栅格将以MinColor渲染。
      • setIntensity

        public void setIntensity(double value)
        设置热力图中高点密度颜色(MaxColor)和低点密度颜色(MinColor)确定渐变色带中高点密度颜色(MaxColor)所占的比重,该值越大,表示在色带中高点密度颜色所占比重越大。
        参数:
        value - 热力图中高点密度颜色(MaxColor)和低点密度颜色(MinColor)确定渐变色带中高点密度颜色(MaxColor)所占的比重,该值越大,表示在色带中高点密度颜色所占比重越大。
      • getIntensity

        public double getIntensity()
        返回热力图中高点密度颜色(MaxColor)和低点密度颜色(MinColor)确定渐变色带中高点密度颜色(MaxColor)所占的比重,该值越大,表示在色带中高点密度颜色所占比重越大。
        返回:
        返回热力图中高点密度颜色(MaxColor)和低点密度颜色(MinColor)确定渐变色带中高点密度颜色(MaxColor)所占的比重,该值越大,表示在色带中高点密度颜色所占比重越大。
      • setFuzzyDegree

        public void setFuzzyDegree(double value)
        设置热力图中颜色渐变的模糊程度。
        参数:
        value - 热力图中颜色渐变的模糊程度。
      • getFuzzyDegree

        public double getFuzzyDegree()
        返回热力图中颜色渐变的模糊程度。
        返回:
        返回热力图中颜色渐变的模糊程度。
      • setWeightField

        public void setWeightField(String field)
        设置权重字段。热力图图层除了可以反映点要素的相对密度,还可以表示根据权重字段进行加权的点密度,以此考虑点本身的权重对于密度的贡献。

        根据核半径(KernelRadius)确定的离散点缓冲区,其叠加确定了热度分布密度,而权重则是确定了点对于密度的影响力,点的权重值确定了该点缓冲区的对于密度的影响力,即如果点缓冲区原来的影响系数为1,点的权重值为10,则引入权重后,该点缓冲区的影响系数为1*10=10,以此类推其他离散点缓冲区的密度影响系数。

        那么,引入权重后,将获得一个新的叠加后的灰度值为索引,在利用指定的色带为其着色,从而实现引入权重的热力图。

        参数:
        field - 权重字段。热力图图层除了可以反映点要素的相对密度,还可以表示根据权重字段进行加权的点密度,以此考虑点本身的权重对于密度的贡献。
      • getWeightField

        public String getWeightField()
        返回权重字段。热力图图层除了可以反映点要素的相对密度,还可以表示根据权重字段进行加权的点密度,以此考虑点本身的权重对于密度的贡献。
        返回:
        返回权重字段。热力图图层除了可以反映点要素的相对密度,还可以表示根据权重字段进行加权的点密度,以此考虑点本身的权重对于密度的贡献。
      • getIsUserDef

        public boolean getIsUserDef()
        获取是否使用用户自定义最值
        返回:
        是否使用用户自定义最值
        抛出:
        IllegalStateException - 当前对象已被释放
      • setIsUserDef

        public void setIsUserDef(boolean value)
        设置是否使用用户自定义最值
        参数:
        value - 是否使用用户自定义最值
        抛出:
        IllegalStateException - 当前对象已被释放
      • getInternalMaxValue

        public double getInternalMaxValue()
        获取系统最大值
        返回:
        系统最大值
        抛出:
        IllegalStateException - 当前对象已被释放
      • getInternalMinValue

        public double getInternalMinValue()
        获取系统最小值
        返回:
        系统最小值
        抛出:
        IllegalStateException - 当前对象已被释放
      • getIsUseCurrentView

        public boolean getIsUseCurrentView()
        获取是否使用当前视图最值
        返回:
        是否使用当前视图最值
        抛出:
        IllegalStateException - 当前对象已被释放
      • setIsUseCurrentView

        public void setIsUseCurrentView(boolean value)
        设置是否使用当前视图最值
        参数:
        value - 是否使用当前视图最值
        抛出:
        IllegalStateException - 当前对象已被释放
      • getCurrentWindowMaxValue

        public double getCurrentWindowMaxValue()
        获取当前视图最大值
        返回:
        当前视图最大值
        抛出:
        IllegalStateException - 当前对象已被释放
      • getCurrentWindowMinValue

        public double getCurrentWindowMinValue()
        获取当前视图最小值
        返回:
        当前视图最小值
        抛出:
        IllegalStateException - 当前对象已被释放
      • getMemRecordset

        public MemRecordset getMemRecordset()
        返回用于制作热力图的内存点记录集。
        返回:
        返回用于制作热力图的内存点记录集。
      • updateData

        public void updateData()
        根据数据变化自动更新当前热力图图层。
      • setUserdefMaxScale

        public void setUserdefMaxScale(double scale)
        设置原始点可见比例尺,地图比例尺小于该比例尺后不再显示
        参数:
        scale - 原始点可见比例尺
        抛出:
        IllegalStateException - 当前对象已被释放
      • getUserdefMaxScale

        public double getUserdefMaxScale()
        获取原始点可见比例尺,地图比例尺小于该比例尺后不再显示
        返回:
        原始点可见比例尺
        抛出:
        IllegalStateException - 当前对象已被释放
      • getAggregationFun

        public AggregationFunctionType getAggregationFun()
        返回热力图聚合字段应用的聚合函数。聚合函数支持对聚合字段进行求和、求最值、平均值等。
        返回:
        返回热力图聚合字段应用的聚合函数。聚合函数支持对聚合字段进行求和、求最值、平均值等。
      • setAggregationFun

        public void setAggregationFun(AggregationFunctionType type)
        设置热力图聚合字段应用的聚合函数。聚合函数支持对聚合字段进行求和、求最值、平均值等。
        参数:
        type - 热力图聚合字段应用的聚合函数。聚合函数支持对聚合字段进行求和、求最值、平均值等。
      • setColorset

        public void setColorset(Colors colors)
        设置用于显示当前热力图的颜色集合。
        参数:
        colors - 用于显示当前热力图的颜色集合。
      • getColorset

        public Colors getColorset()
        返回用于显示当前热力图的颜色集合。
        返回:
        返回用于显示当前热力图的颜色集合。
      • setGradientColorType

        public void setGradientColorType(ColorType type)
        设置热力图的颜色渐变模式,包含两种模式:HSB和RGB。
        参数:
        type - 热力图的颜色渐变模式,包含两种模式:HSB和RGB。
      • getGradientColorType

        public ColorType getGradientColorType()
        返回热力图的颜色渐变模式,包含两种模式:HSB和RGB。
        返回:
        返回热力图的颜色渐变模式,包含两种模式:HSB和RGB。

Copyright © 2021–2024 SuperMap. All rights reserved.