Class: ClassBreakRenderer

ClassBreakRenderer

new ClassBreakRenderer(options)

document/renderer/ClassBreakRenderer.js, line 8

分段专题图渲染样式,支持的图层如下:
IGS地图图片图层几何图形图层IGS要素图层geojson图层OGC-WFS图层

Name Type Description
options Object

构造参数

Name Type Default Description
field String '' 可选

过滤字段名

valueExpressionTitle String 可选

字段表达式描述

valueExpression String 可选

字段表达式

defaultVisible Boolean true 可选

默认符号是否显示

normalizationField String 可选

归一化的字段,当normalizationType设置为'field'时生效,将数据值除以归一化的字段所表示的属性值作为分段的依据。例如,要素上有面积和人口两个字段,设置normalizationField为'面积',field设置为'人口',即可计算出人口密度数据。

normalizationTotal Number 可选

归一化的总数,当normalizationType设置为'percent-of-total'时生效,将数据值除以此值再乘以100作为分段的依据。例如,已知某区域绿地总面积为1000平方米,normalizationType设置为'绿地面积',即可计算出该要素所在区域的绿地面积占比。

normalizationType String 可选

归一化的类型。目前支持'field','log','percent-of-total'三种类型。field可以参考normalizationField的说明。normalizationTotal可以参考normalizationTotal的说明。log归一会对数据值进行log10处理。

classBreakInfos Array.<ClassBreakInfo> [] 可选

分段专题图字段样式,支持的样式如下:
1、点样式
2、线样式
3、区样式
示例如下:
[1、分段专题图-点]
[2、分段专题图-线]
[3、分段专题图-区]

defaultSymbol Object 可选

默认样式,当分段值未覆盖时,使用默认样式,支持的样式如下:
1、点样式
2、线样式
3、区样式
示例如下:
[1、默认样式-点]
[2、默认样式-线]
[3、默认样式-区]

See:
  • 表达式

Examples

分段专题图-点

// ES5引入方式
const { ClassBreakRenderer } = zondy.renderer
const { SimpleMarkerSymbol, SimpleLineSymbol } = zondy.symbol
const { Color } = zondy
// ES6引入方式
import { ClassBreakRenderer, SimpleMarkerSymbol, SimpleLineSymbol, Color } from "@mapgis/webclient-common"
// 创建分段专题图渲染样式对象
const classBreakRenderer = new ClassBreakRenderer({
 //字段名
 field: '你的字段名',
 // 默认样式
 defaultSymbol: undefined,
 //分段专题图字段样式
 classBreakInfos: [{
   // 分段最大值
   maxValue: 20,
   // 分段最小值
   minValue: 1,
   //匹配到该值后的样式,更多样式详见:《SimpleMarkerSymbol》
   symbol: new SimpleMarkerSymbol({
     // 填充颜色
     color: 'rgba(1,1,252,0)',
     // 点半径
     size: 13,
     // 外边线样式
     outline: new SimpleLineSymbol({
       //线颜色
       color: new Color(255, 1, 0, 1),
       //线宽
       width: 1
     })
   })
 },{
   // 分段最大值
   maxValue: 40,
   // 分段最大值
   minValue: 20,
   //匹配到该值后的样式,更多样式详见:《SimpleMarkerSymbol》
   symbol: new SimpleMarkerSymbol({
     // 填充颜色
     color: 'rgba(1,1,252,0)',
     // 点半径
     size: 13,
     // 外边线样式
     outline: new SimpleLineSymbol({
       //线颜色
       color: new Color(255, 1, 0, 1),
       //线宽
       width: 1
     })
   })
 }]
});

分段专题图-线

// ES5引入方式
const { ClassBreakRenderer } = zondy.renderer
const { SimpleLineSymbol } = zondy.symbol
const { Color } = zondy
// ES6引入方式
import { ClassBreakRenderer, SimpleLineSymbol, Color } from "@mapgis/webclient-common"
// 创建分段专题图渲染样式对象
const classBreakRenderer = new ClassBreakRenderer({
 //字段名
 field: '你的字段名',
 // 默认样式
 defaultSymbol: undefined,
 //分段专题图字段样式
 classBreakInfos: [{
   // 分段最大值
   maxValue: 20,
   // 分段最小值
   minValue: 1,
   //匹配到该值后的样式,更多样式详见:《SimpleLineSymbol》
   symbol: new SimpleLineSymbol({
     //线符号颜色
     color: new Color(1, 255, 0, 1),
     //线宽
     width: 2
   })
 },{
   // 分段最大值
   maxValue: 40,
   // 分段最大值
   minValue: 20,
   //匹配到该值后的样式,更多样式详见:《SimpleLineSymbol》
   symbol: new SimpleLineSymbol({
     //线符号颜色
     color: new Color(1, 255, 0, 1),
     //线宽
     width: 2
   })
 }]
});

分段专题图-区

// ES5引入方式
const { ClassBreakRenderer } = zondy.renderer
const { SimpleFillSymbol, SimpleLineSymbol } = zondy.symbol
const { Color } = zondy
// ES6引入方式
import { ClassBreakRenderer, SimpleFillSymbol, SimpleLineSymbol, Color } from "@mapgis/webclient-common"
// 创建分段专题图渲染样式对象
const classBreakRenderer = new ClassBreakRenderer({
 //字段名
 field: '你的字段名',
 // 默认样式
 defaultSymbol: undefined,
 //分段专题图字段样式
 classBreakInfos: [{
   // 分段最大值
   maxValue: 20,
   // 分段最小值
   minValue: 1,
   //匹配到该值后的样式,更多样式详见:《SimpleFillSymbol》
   symbol: new SimpleFillSymbol({
     // 填充符号颜色
     color: new Color(111, 222, 0, 0.3),
     // 外边线样式
     outline: new SimpleLineSymbol({
       // 线符号颜色
       color: new Color(255, 255, 0, 1),
       // 线宽
       width: 1
     })
   })
 },{
   // 分段最大值
   maxValue: 40,
   // 分段最大值
   minValue: 20,
   //匹配到该值后的样式,更多样式详见:《SimpleFillSymbol》
   symbol: new SimpleFillSymbol({
     // 填充符号颜色
     color: new Color(21, 110, 22, 0.3),
     // 外边线样式
     outline: new SimpleLineSymbol({
       //线符号颜色
       color: new Color(255, 255, 0, 1),
       //线宽
       width: 1
     })
   })
 }]
});

默认样式-点

// ES5引入方式
const { SimpleMarkerSymbol, SimpleLineSymbol } = zondy.symbol
const { Color } = zondy
const { ClassBreakRenderer } = zondy.renderer
// ES6引入方式
import { SimpleMarkerSymbol, SimpleLineSymbol, Color, ClassBreakRenderer } from "@mapgis/webclient-common"
// 初始化默认样式,更多样式详见:《SimpleMarkerSymbol》
const defaultSymbol = new SimpleMarkerSymbol({
  // 填充颜色
  color: 'rgba(1,1,252,0)',
  // 点半径
  size: 13,
  // 外边线样式
  outline: new SimpleLineSymbol({
    //线颜色
    color: new Color(255, 1, 0, 1),
    //线宽
    width: 1
  })
})
// 初始化渲染对象
const renderer = new ClassBreakRenderer({
  //字段名
  field: '你的字段名',
  //分段专题图字段样式
  classBreakInfos: [],
  // 默认样式
  defaultSymbol: defaultSymbol
})

默认样式-线

// ES5引入方式
const { SimpleLineSymbol, SimpleMarkerSymbol } = zondy.symbol
const { Color } = zondy
const { ClassBreakRenderer } = zondy.renderer
// ES6引入方式
import { SimpleLineSymbol, SimpleMarkerSymbol, Color, ClassBreakRenderer } from "@mapgis/webclient-common"
// 初始化默认样式,更多样式详见:《SimpleLineSymbol》
const defaultSymbol = new SimpleLineSymbol({
  // 填充颜色
  color: new Color(255, 0, 0, 1),
  // 线宽
  width: 2
})
// 初始化渲染对象
const renderer = new ClassBreakRenderer({
  //字段名
  field: '你的字段名',
  //分段专题图字段样式
  classBreakInfos: [],
  // 默认样式
  defaultSymbol: defaultSymbol
})

默认样式-区

// ES5引入方式
const { SimpleFillSymbol, SimpleLineSymbol } = zondy.symbol
const { Color } = zondy
const { ClassBreakRenderer } = zondy.renderer
// ES6引入方式
import { SimpleFillSymbol, SimpleLineSymbol, Color, ClassBreakRenderer } from "@mapgis/webclient-common"
// 初始化默认样式,更多样式详见:《SimpleFillSymbol》
const defaultSymbol = new SimpleFillSymbol({
  // 填充颜色
  color: 'rgba(1,1,252,0)',
  // 外边线样式
  outline: new SimpleLineSymbol({
    //线颜色
    color: new Color(255, 1, 0, 1),
    //线宽
    width: 1
  })
})
// 初始化渲染对象
const renderer = new ClassBreakRenderer({
  //字段名
  field: '你的字段名',
  //分段专题图字段样式
  classBreakInfos: [],
  // 默认样式
  defaultSymbol: defaultSymbol
})

字段表达式

  const renderer = new ClassBreakRenderer({
    valueExpression: "$feature.FID * 5",
    // 默认样式
    defaultSymbol: undefined,
    //分段专题图字段样式
    classBreakInfos: [
      {
        // 分段最大值
        maxValue: 20,
        // 分段最小值
        minValue: 1,
        //匹配到该值后的样式,更多样式详见:《SimpleFillSymbol》
        symbol: new SimpleFillSymbol({
          // 填充符号颜色
          color: new Color(111, 222, 0, 0.3),
          // 外边线样式
          outline: new SimpleLineSymbol({
            // 线符号颜色
            color: new Color(255, 255, 0, 1),
            // 线宽
            width: 1,
          }),
        }),
      },
      {
        // 分段最大值
        maxValue: 40,
        // 分段最大值
        minValue: 20,
        //匹配到该值后的样式,更多样式详见:《SimpleFillSymbol》
        symbol: new SimpleFillSymbol({
          // 填充符号颜色
          color: new Color(21, 110, 22, 0.3),
          // 外边线样式
          outline: new SimpleLineSymbol({
            //线符号颜色
            color: new Color(255, 255, 0, 1),
            //线宽
            width: 1,
          }),
        }),
      },
    ],
  });

Extends

Members

classBreakInfosArray.<ClassBreakInfo>

classBreakInfos 分段参数

deconflictionStrategyString

聚类冲突策略,默认为'none'。'none'表示不设置冲突解决策略,'static'表示采用默认的冲突解决策略。

defaultDescriptionString

默认的描述

defaultLabelString

默认的标签

defaultSymbolSymbol

defaultSymbol 默认样式,当分段值未覆盖时,使用默认样式

defaultVisibleBoolean

是否可视化默认符号

fieldString

field 过滤字段名

idString

渲染器id

minHybridClusterCountNumber

最小混合聚合数量。大于等于此值进行混合聚类,小于此值则优先以分组类型聚类。

normalizationFieldString

归一化的字段,当normalizationType设置为'field'时生效,将数据值除以归一化的字段所表示的属性值作为分段的依据。例如,要素上有面积和人口两个字段,设置normalizationField为'面积',field设置为'人口',即可计算出人口密度数据。

normalizationTotalNumber

归一化的总数,当normalizationType设置为'percent-of-total'时生效,将数据值除以此值再乘以100作为分段的依据。例如,已知某区域绿地总面积为1000平方米,normalizationType设置为'绿地面积',即可计算出该要素所在区域的绿地面积占比。

normalizationTypeNormalizationType

归一化的类型。目前支持'field','log','percent-of-total'三种类型。field可以参考normalizationField的说明。normalizationTotal可以参考normalizationTotal的说明。log归一会对数据值进行log10处理。

typeString

type 'class-breaks',分段专题图

valueExpressionString

字段表达式

valueExpressionString

字段表达式,默认取'$cluster_count',默认表示按聚类簇上点的数量作为分段的依据

valueExpressionTitleString

字段表达式描述

valueExpressionTitleString

字段表达式描述

visualVariablesArray.<VisualVariable>

视觉变量

Methods

ClassBreakRenderer.fromJSON(json){ClassBreakRenderer}

document/renderer/ClassBreakRenderer.js, line 450

通过json创造ClassBreakRenderer对象

Name Type Description
json Object
Returns:
Type Description
ClassBreakRenderer 新创建的ClassBreakRenderer对象
Example

通过json创造ClassBreakRenderer对象

let classBreakRenderer = ClassBreakRenderer.fromJSON({
   // 初始化参数
})

clone(){ClassBreakRenderer}

document/renderer/ClassBreakRenderer.js, line 436

克隆renderer对象

Returns:
Type Description
ClassBreakRenderer 克隆后的renderer对象

inherited fromJSON(json)

document/renderer/BaseRenderer.js, line 50

将JSON格式的渲染规则转换为JS对象

Name Type Description
json Object

渲染规则的实例化JSON

toJSON(){Object}

document/renderer/ClassBreakRenderer.js, line 411

导出为json对象

Returns:
Type Description
Object json对象