com.supermap.mapping
类 LayerHeatmap

java.lang.Object
  继承者 com.supermap.mapping.Layer
      继承者 com.supermap.mapping.LayerHeatmap

public class LayerHeatmap
extends Layer

热力图图层类,该类继承自Layer类。

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

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

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


方法摘要
 AggregationFunctionType getAggregationFun()
          返回热力图聚合字段应用的聚合函数。
 Colors getColorset()
          返回用于显示当前热力图的颜色集合。
 double getFuzzyDegree()
          返回热力图中颜色渐变的模糊程度。
 ColorType getGradientColorType()
          返回热力图的颜色渐变模式,包含两种模式:HSB和RGB。
 double getIntensity()
          返回热力图中高点密度颜色(MaxColor)和低点密度颜色(MinColor)确定渐变色带中高点密度颜色(MaxColor)所占的比重,该值越大,表示在色带中高点密度颜色所占比重越大。
 int getKernelRadius()
          返回用于计算密度的核半径。
 java.awt.Color getMaxColor()
          返回高点密度的颜色,热力图图层将通过高点密度颜色(MaxColor)和低点密度颜色(MinColor)确定渐变的颜色方案。
 double getMaxValue()
          返回一个最大值。
 MemRecordset getMemRecordset()
          返回用于制作热力图的内存点记录集。
 java.awt.Color getMinColor()
          返回低点密度的颜色,热力图图层将通过高点密度颜色(MaxColor)和低点密度颜色(MinColor)确定渐变的颜色方案。
 double getMinValue()
          返回一个最小值。
 java.lang.String getWeightField()
          返回权重字段。
 void setAggregationFun(AggregationFunctionType type)
          设置热力图聚合字段应用的聚合函数。
 void setColorset(Colors colors)
          设置用于显示当前热力图的颜色集合。
 void setFuzzyDegree(double value)
          设置热力图中颜色渐变的模糊程度。
 void setGradientColorType(ColorType type)
          设置热力图的颜色渐变模式,包含两种模式:HSB和RGB。
 void setIntensity(double value)
          设置热力图中高点密度颜色(MaxColor)和低点密度颜色(MinColor)确定渐变色带中高点密度颜色(MaxColor)所占的比重,该值越大,表示在色带中高点密度颜色所占比重越大。
 void setKernelRadius(int radius)
          设置用于计算密度的核半径。
 void setMaxColor(java.awt.Color color)
          设置高点密度的颜色,热力图图层将通过高点密度颜色(MaxColor)和低点密度颜色(MinColor)确定渐变的颜色方案。
 void setMaxValue(double value)
          设置一个最大值。
 void setMinColor(java.awt.Color color)
          设置低点密度的颜色,热力图图层将通过高点密度颜色(MaxColor)和低点密度颜色(MinColor)确定渐变的颜色方案。
 void setMinValue(double value)
          设置一个最小值。
 void setWeightField(java.lang.String field)
          设置权重字段。
 void updateData()
          根据数据变化自动更新当前热力图图层。
 
从类 com.supermap.mapping.Layer 继承的方法
addElementDrawingListener, addGridFunction, clearThemeElementPositions, findLayer, fromXML, getAdditionalSetting, getBounds, getCaption, getClipRegion, getDataset, getDeduplicateThreshold, getDeduplicateTolerance, getDescription, getDisplayControledLayer, getDisplayFilter, getEndTimeField, getExternalInfo, getFieldValuesDisplayFilter, getFillMarkerOrder, getMaxVisibleScale, getMinVisibleGeometrySize, getMinVisibleScale, getName, getOpaqueRate, getOverlapGeometryPixel, getOverlapGeometryThreshold, getParentGroup, getParentSnapshot, getRepresentationField, getSelection, getStartTimeField, getSymbolScale, getTheme, getThemeElementPosition, getTimeFilterEnding, getTimeFilterStarting, getTimeStepInterval, getValueExpressions, hitTest, hitTest, hitTest, hitTestGeoCompound, isAntialias, isClipRegionEnabled, isCompleteLineSymbolDisplayed, isCrossroadOptimized, isDeduplicateEnabled, isDisposed, isEditable, isOverlapDisplayed, isOverlapGeometryEnabled, isRepresentationEnabled, isSelectable, isSnapable, isSymbolScalable, IsTimeFilterEnable, isVisible, isVisibleScale, removeElementDrawingListener, removeThemeElementPosition, setAdditionalSetting, setAntialias, setCaption, setClipRegion, setClipRegionEnabled, setCompleteLineSymbolDisplayed, setCrossroadOptimized, setDataset, setDeduplicateEnabled, setDeduplicateThreshold, setDeduplicateTolerance, setDescription, setDisplayControledLayer, setDisplayFilter, setEditable, setEndTimeField, setExternalInfo, setFillMarkerOrder, setMaxVisibleScale, setMinVisibleGeometrySize, setMinVisibleScale, setOpaqueRate, setOverlapDisplayed, setOverlapGeometryEnabled, setOverlapGeometryPixel, setOverlapGeometryThreshold, setRepresentationEnabled, setRepresentationField, setSelectable, setSelection, setSnapable, setStartTimeField, setSymbolScalable, setSymbolScale, setThemeElementPosition, setTimeFilterEnable, setTimeFilterEnding, setTimeFilterStarting, setTimeStepInterval, setValueExpressions, setVisible, themeSymbolsToGeometries, themeToDatasetVector, toXML
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

方法详细信息

getKernelRadius

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

返回:
返回用于计算密度的核半径。单位为:屏幕坐标。

setKernelRadius

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

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

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

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

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

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

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

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

getMaxColor

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

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

setMaxColor

public void setMaxColor(java.awt.Color color)
设置高点密度的颜色,热力图图层将通过高点密度颜色(MaxColor)和低点密度颜色(MinColor)确定渐变的颜色方案。

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

getMinColor

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

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

setMinColor

public void setMinColor(java.awt.Color color)
设置低点密度的颜色,热力图图层将通过高点密度颜色(MaxColor)和低点密度颜色(MinColor)确定渐变的颜色方案。

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

setMaxValue

public void setMaxValue(double value)
设置一个最大值。当前热力图图层中最大值(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渲染。

setWeightField

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

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

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

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

getWeightField

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

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

updateData

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


getMemRecordset

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

返回:
返回用于制作热力图的内存点记录集。

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()
返回热力图中颜色渐变的模糊程度。

返回:
返回热力图中颜色渐变的模糊程度。

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。

getAggregationFun

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

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

setAggregationFun

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

参数:
type - 热力图聚合字段应用的聚合函数。聚合函数支持对聚合字段进行求和、求最值、平均值等。