Class: Ring

SuperMap.Feature.Theme.Ring

环状图。

new SuperMap.Feature.Theme.Ring(data, layer, fields, setting, lonlat, sectorHoverStyle, sectorHoverAble, sectorClickAble)

common/overlay/Ring.js, line 9

基于路由对象计算指定点 M 值操作的参数类。通过该类提供参数信息。

Name Type Default Description
data SuperMap.Feature.Vector

用户数据。

layer SuperMap.Layer.Graph

此专题要素所在图层。

fields Array.<string>

data 中的参与此图表生成的字段名称。

setting SuperMap.Feature.Theme.Ring.setting

图表配置对象。

lonlat SuperMap.LonLat 可选

专题要素地理位置。默认为 data 指代的地理要素 Bounds 中心。

sectorHoverStyle Object true 可选

环状图扇形 hover 状态时的样式,sectorHoverAble 为 true 时有效。

sectorHoverAble boolean true 可选

是否允许环状图扇形使用 hover 状态。同时设置 sectorHoverAble 和 sectorClickAble 为 false,可以直接屏蔽环状图扇形对专题图层事件的响应。

sectorClickAble boolean true 可选

是否允许环状图扇形被点击。同时设置 sectorHoverAble 和 sectorClickAble 为 false,可以直接屏蔽环状图扇形对专题图层事件的响应。

Example
// sectorStyleByCodomain 的每个元素是个包含值域信息和与值域对应样式信息的对象,该对象(必须)有三个属性:
// start: 值域值下限(包含);
// end: 值域值上限(不包含);
// style: 数据可视化图形的 style,这个样式对象的可设属性:  。
// sectorStyleByCodomain 数组形如:
[
  {
    start:0,
    end:250,
    style:{
         fillColor:"#00CD00"
     }
 },
  {
    start:250,
    end:500,
    style:{
         fillColor:"#00EE00"
     }
 },
  {
    start:500,
    end:750,
    style:{
         fillColor:"#00FF7F"
     }
 },
  {
    start:750,
    end:1500,
    style:{
         fillColor:"#00FF00"
     }
 }
]

Extends

Members

chartBoundsSuperMap.Bounds

图表 Bounds 随着 lonlat、XOffset、YOffset 更新,注意 chartBounds 是图表像素范围,不是地理范围。

chartBoxArray.<number>

专题要素(图表)区域,即图表框,长度为 4 的一维数组,数组的 4 个元素依次表示图表框左端 x 坐标值、 下端 y坐标值、 右端 x坐标值、 上端 y 坐标值;[left, bottom, right, top]。

dataObject

用户数据,用于生成可视化 shape,可在子类中规定数据格式或类型,如:<SuperMap.Feature.Vector>。

dataValuesArray.<number>

图表展示的数据值,通过 fields 从数据 feature 属性中获得。

dataViewBoxArray.<number>

数据视图框,长度为 4 的一维数组,[left, bottom, right, top]。 dataViewBox 是统计专题要素最核心的内容,它负责解释数据在一个像素区域里的数据可视化含义, 这种含义用可视化图形表达出来,这些表示数据的图形和一些辅助图形组合在一起构成统计专题图表。

DVBCenterPointArray.<number>

数据视图框中心点,长度为 2 的一维数组,第一个元素表示 x 坐标,第二个元素表示 y 坐标。

DVBCodomainArray.<number>

数据视图框的内允许展示的数据值域,长度为 2 的一维数组,第一个元素表示值域下限,第二个元素表示值域上限。 dataViewBox 中允许的数据范围,对数据溢出值域范围情况的处理需要在 assembleShapes 中进行。

DVBHeightnumber

数据视图框高度。

DVBOrigonPointArray.<number>

数据视图框原点,数据视图框左上角点,长度为 2 的一维数组,第一个元素表示 x 坐标,第二个元素表示 y 坐标。

DVBParameterArray.<number>

数据视图框参数,长度为 4 的一维数组(数组元素值 >= 0),[leftOffset, bottomOffset, rightOffset, topOffset],chartBox 内偏距值。 此属性用于指定数据视图框 dataViewBox 的范围。

DVBUnitValuestring

单位值。在 assembleShapes() 中初始化其具体意义,例如:饼图的 DVBUnitValue 可以定义为"360/数据总和", 折线图的 DVBUnitValue 可以定义为 "DVBCodomain/DVBHeight"。

DVBWidthnumber

数据视图框宽度。

fieldsArray.<string>

数据{SuperMap.Feature.Vector}属性字段。

heightnumber

专题要素(图表)高度 。

idstring

专题要素唯一标识。

layerSuperMap.Layer.Theme

此专题要素所在专题图层。

locationArray

专题要素像素参考位置。通常由地理参考位置决定。长度为 2 的数组,第一个元素表示 x 坐标,第二个元素表示 y 坐标。

专题要素地理参考位置。子类中必须根据用户数据(或地理位置参数)对其赋值。

origonPointArray.<number>

专题要素(图表)原点,图表左上角点像素坐标,是长度为 2 的一维数组,第一个元素表示 x 坐标,第二个元素表示 y 坐标。

origonPointOffsetArray.<number>

数据视图框原点相对于图表框的原点偏移量,长度为 2 的一维数组,第一个元素表示 x 偏移量,第二个元素表示 y 偏移量。

RelativeCoordinateboolean

图形是否已经计算了相对坐标。

settingObject

图表配置对象,该对象控制着图表的可视化显示。

内置的图形工厂对象,调用其 createShape 方法创建图形。

shapeParametersObject

当前图形参数对象,<SuperMap.Feature.ShapeParameters> 的子类对象。

shapesArray

构成此专题要素的可视化图形对象数组,数组顺序控制渲染。

widthnumber

专题要素(图表)宽度 。

XOffsetnumber

专题要素(图表)在 X 方向上的偏移值,单位像素。

YOffsetnumber

专题要素(图表)在 Y 方向上的偏移值,单位像素。

Methods

assembleShapes()

common/overlay/Ring.js, line 77

装配图形(扩展接口)。

inherited constructor(data, layer){SuperMap.Feature.Theme}

common/overlay/feature/Theme.js, line 17

构造函数。

Name Type Description
data Object

用户数据,用于生成可视化 shape,必设参数。

layer SuperMap.Layer.Theme

此专题要素所在图层,必设参数。

Returns:
Type Description
SuperMap.Feature.Theme 返回一个专题要素。

destroy()

common/overlay/Ring.js, line 69

销毁此专题要素。调用 destroy 后此对象所以属性置为 null。

inherited getLocalXY(lonlat)

common/overlay/Graph.js, line 469

地理坐标转为像素坐标。

Name Type Description
lonlat SuperMap.Lonlat

带转换的地理坐标。

Returns:
屏幕像素坐标。

inherited initBaseParameter(width, height, codomain, XOffset, YOffset, dataViewBoxParameter, decimalNumber){boolean}

common/overlay/Graph.js, line 241

初始化专题要素(图表)基础参数。在调用此方法前,此类的图表模型相关属性都是不可用的 ,此方法在 assembleShapes 函数中调用。 调用此函数关系到 setting 对象的以下属性。

Name Type Description
width number

专题要素(图表)宽度。

height number

专题要素(图表)高度。

codomain Array.<number>

值域,长度为 2 的一维数组,第一个元素表示值域下限,第二个元素表示值域上限。

XOffset number 可选

专题要素(图表)在 X 方向上的偏移值,单位像素。

YOffset number 可选

专题要素(图表)在 Y 方向上的偏移值,单位像素。

dataViewBoxParameter Array.<number> 可选

数据视图框 dataViewBox 参数,它是指图表框 chartBox。 (由图表位置、图表宽度、图表高度构成的图表范围框)在左、下,右,上四个方向上的内偏距值。

decimalNumber number 可选

数据值数组 dataValues 元素值小数位数,数据的小数位处理参数,取值范围:[0, 16]。如果不设置此参数,在取数据值时不对数据做小数位处理。

Returns:
Type Description
boolean 初始化参数是否成功。

inherited resetLinearGradient()

common/overlay/Graph.js, line 373

resetLocation 中调用 图表的相对坐标存在的时候,重新计算渐变的颜色(目前用于二维柱状图渐变色 所以子类实现此方法)。

inherited resetLocation(lonlat){Array.<number>}

common/overlay/Graph.js, line 342

根据地理位置 lonlat 重置专题要素(图表)位置。

Name Type Description
lonlat SuperMap.LonLat

专题要素新的像素中心位置。

Returns:
Type Description
Array.<number>
  • 新专题要素像素参考位置。长度为 2 的数组,第一个元素表示 x 坐标,第二个元素表示 y 坐标。

inherited shapesConvertToRelativeCoordinate()

common/overlay/Graph.js, line 381

将(构成图表)图形的节点转为相对坐标表示,此函数必须且只能在 assembleShapes() 结束时调用。

Type Definitions

SuperMap.Feature.Theme.Ring.settingObject

Properties:
Name Type Default Description
width number

专题要素(图表)宽度。

height number

专题要素(图表)高度。

codomain Array.<number>

图表允许展示的数据值域,长度为 2 的一维数组,第一个元素表示值域下限,第二个元素表示值域上限。

XOffset number 可选

专题要素(图表)在 X 方向上的偏移值,单位像素。

YOffset number 可选

专题要素(图表)在 Y 方向上的偏移值,单位像素。

dataViewBoxParameter Array.<number> [0, 0, 0, 0] 可选

数据视图框 dataViewBox 参数,它是指图表框 chartBox (由图表位置、图表宽度、图表高度构成的图表范围框)在左、下,右,上四个方向上的内偏距值。

decimalNumber number 可选

数据值数组 dataValues 元素值小数位数,数据的小数位处理参数,取值范围:[0, 16]。如果不设置此参数,在取数据值时不对数据做小数位处理。

useBackground boolean false 可选

是否使用图表背景框。

backgroundStyle SuperMap.Feature.ShapeParameters.Rectangle.style 可选

背景样式,此样式对象对象可设属性。

backgroundRadius Array.<number> [0, 0, 0, 0] 可选

背景框矩形圆角半径,可以用数组分别指定四个角的圆角半径,设:左上、右上、右下、左下角的半径依次为 r1、r2、r3、r4 ,则 backgroundRadius 为 [r1、r2、r3、r4 ]。

innerRingRadius number 0 可选

环状图内环半径,取值范围大于 0,小于外环半径(外环半径:数据视图框长和宽中较小值的二分之一)。

sectorStyle SuperMap.Feature.ShapeParameters.Sector.style 可选

环状图中扇形的基础 style,此参数控制环状图扇形基础样式,优先级低于 sectorStyleByFields 和 sectorStyleByCodomain。

sectorStyleByFields Array.<SuperMap.Feature.ShapeParameters.Sector.style> 可选

按专题字段 themeFields(SuperMap.Layer.Graph.themeFields|L.supermap.graphThemeLayer.themeFields|ol.source.Graph.themeFields|mapboxgl.supermap.GraphThemeLayer.themeFields)为环状图扇形赋 style,此参数按字段控制环状图扇形样式,优先级低于 sectorStyleByCodomain,高于 sectorStyle。此数组中的元素是样式对象。此参数中的 style 与 themeFields 中的字段一一对应 。例如: themeFields(<SuperMap.Layer.Graph.themeFields>) 为 ["POP_1992", "POP_1995", "POP_1999"],sectorStyleByFields 为[style1, style2, style3],则在图表中,字段 POP_1992 对应的环状图扇形使用 style1,字段 POP_1995 对应的环状图扇形使用 style2 ,字段 POP_1999 对应的环状图扇形使用 style3。

sectorStyleByCodomain Array.<SuperMap.Feature.ShapeParameters.Sector.style> 可选

按环状图扇形代表的数据值所在值域范围控制环状图扇形样式,优先级高于 sectorStyle 和 sectorStyleByFields。