imobile_for_reactnative
Version:
iMobile for ReactNative,是SuperMap iMobile推出的一款基于React-Native框架的移动应用开发工具。基于该开发工具,用户可以使用JavaScript开发语言,开发出在Android和IOS操作系统下运行的原生移动GIS应用,入门门槛低,一次开发,处处运行。
902 lines (817 loc) • 29.8 kB
text/typescript
/**********************************************************************************
Copyright © SuperMap. All rights reserved.
Author: xiezhy
E-mail: xiezhiyan@supermap.com
Description:
/*** 专题图模块,该模块管理如单值专题图,标签专题图,分段专题图
**********************************************************************************/
import GeoStyle from "imobile_for_reactnative/NativeModule/GeoStyle"
import {
NativeModules,
} from "react-native"
import { DatasetInfo, TextFont } from "../data/SData"
import { LayerInfo } from "./SMap"
const STheme = NativeModules.STheme
// const ColorGradientType = NativeModules.JSColorGradientType
/*** 颜色渐变类型常量
* 颜色渐变是多种颜色间的逐渐混合,可以是从起始色到终止色两种颜色的渐变,或者在起始色到终止色之间具有多种中间颜色进行渐变。
* 该颜色渐变类型可应用于专题图对象的颜色方案设置中
*/
interface IColorGradientType {
/**粉红红渐变色*/
PINKRED: 19
/**粉红蓝渐变色*/
PINKBLUE: 20
/**青蓝渐变色*/
CYANBLUE: 21
/**青绿渐变色*/
CYANGREEN: 22
/** 彩虹色*/
RAINBOW: 23
/** 绿橙紫渐变色*/
GREENORANGEVIOLET: 24
/**地形渐变*/
TERRAIN: 25
/**光谱渐变*/
SPECTRUM: 26
}
/*** 专题图类型 */
export type TColorGradientType = IColorGradientType[keyof IColorGradientType]
export const ColorGradientType: IColorGradientType = NativeModules.JSColorGradientType
/*** 分段专题图的分段方式类型常量 */
export interface IRangeMode {
/**等距离分段,等距离分段是根据作为专题变量的字段或表达式的最大值和最小值,按照用户设定的分段数进行相等间距的分段。在等距离分段中,每一段具有相等的长度*/
EQUALINTERVAL: 0
/***平方根分段 */
SQUAREROOT: 1
/***标准差分段 */
STDDEVIATION: 2
/***对数分段 */
LOGARITHM: 3
/***等计数分段 */
QUANTILE: 4
/***自定义距离分段 */
CUSTOMINTERVAL: 5
/***空分段模式 */
NONE: 6
}
/*** 专题图类型 */
export type TRangeMode = IRangeMode[keyof IRangeMode]
export const RangeMode: IRangeMode = NativeModules.JSRangeMode
/*** 专题图类型 */
export interface IThemeType {
/*** 单值专题图 */
UNIQUE: 1
/*** 分段专题图 */
RANGE: 2
/*** 统计专题图 */
GRAPH: 3
/*** 等级符号专题图 */
GRADUATEDSYMBOL: 4
/*** 点密度专题图 */
DOTDENSITY: 5
/*** 标签专题图 */
LABEL: 7
/*** 自定义专题图 */
CUSTOM: 8
/*** 栅格单值专题图 */
GRIDUNIQUE: 11
/*** 栅格分段专题图 */
GRIDRANGE: 12
/*** 单值标签专题图 */
LABELUNIQUE: 107
/*** 分段标签专题图 */
LABELRANGE: 207
}
/*** 专题图类型 */
export type TThemeType = IThemeType[keyof IThemeType]
export const ThemeType: IThemeType = NativeModules.JSThemeType
/**
分段专题图子项类
在分段专题图中,将分段字段的表达式的值按照某种分段模式被分成多个范围段。
每个分段都有其分段起始值、终止值、名称和风格等。
每个分段*所表示的范围为 [Start, End)。
*/
export interface ThemeRangeItem {
/**分段专题图子项的起始值*/
start: number
/**分段专题图子项的终止值*/
end: number
/**分段专题图子项中的名称*/
caption: string
/**分段专题图子项的风格*/
style: GeoStyle
/**分段专题图中的子项是否可见*/
isVisible: boolean
}
/*** 单值专题图子项类
* 单值专题图是将专题值相同的要素归为一类,为每一类设定一种渲染风格,其中每一类就是一个专题图子项。
* 比如,利用单值专题图制作行政区划图,Name 字段代表省/直辖市名,该字段用来做专题变量,
* 如果该字段的字段值总共有5种不同值,则该行政区划图有5个专题图子项,其中每一个子项内的要素 Name 字段值都相同
*/
export interface ThemeUniqueItem {
/***单值专题图子项的单值*/
unique: string
/**单值专题图子项是否可见*/
isVisible: boolean
/**每个单值专题图子项的名称*/
caption: string
/**每个单值专题图子项的风格*/
style: GeoStyle
}
/**
* 标签专题图子项类
* 标签专题图用专题值对点、线、面等对象做标注,值得注意的是,标签专题图允许用户设置范围段,
* 同一范围段内的标签具有相同的显示风格,其中每一个范围段就是一个专题图子项,每一个子项都具有其名称、
* 风格、起始值和终止值
*/
export interface ThemeLabelItem {
/**单值专题图子项是否可见*/
isVisible: boolean
/**每个单值专题图子项的名称*/
caption: string
/**每个单值颜色*/
color: { r: number, g: number, b: number }
}
/**
* 标签单值专题图子项类
*/
export interface ThemeLabelUniqueItem extends ThemeLabelItem {
/***单值子项的单值*/
unique: string
}
/**
* 标签单值专题图子项类
*/
export interface ThemeLabelRangeItem extends ThemeLabelItem {
/**分段子项的起始值*/
start: number
/**分段子项的终止值*/
end: number
}
/*** 专题图基类 */
export interface Theme {
/**专题图类型*/
themeType?: TThemeType
/**表达式*/
expression: string
/**色带(与颜色方案互斥)*/
colorScheme?: string
/**颜色方案(与色带互斥)*/
colorGradientType?: TColorGradientType
}
/***
*单值专题图类
将字段或表达式的值相同的要素采用相同的风格来显示,从而用来区分不同的类别。
例如,在表示土地的面数据中表示土地利用类型的字段中有草地,林地,居民地,耕地等值,使用单值专题图进行渲染时,
每种类型的土地利用类型被赋予一种颜色或填充风格,从而可以看出每种类型的土地利用的分布区域和范围。
可用于地质图、地貌图、植被图、土地利用图、政治行政区划图、自然区划图、经济区划图等。
单值专题图着重表示现象质的差别,一般不表示数量的特征。尤其是有交叉或重叠现象时,此类不推荐使用,
例如:民族分布区等
*/
export interface ThemeUnique extends Theme {
/**单值专题图子项 */
items: ThemeUniqueItem[]
}
/***
*分段专题图类
按照提供的分段方法对字段的属性值进行分段,并根据每个属性值所在的分段范围赋予相应对象的显示风格
制作分段专题图,如果首尾区间没有设置风格,且没有设置默认风格,那么无论是采用 addToHead 还是 ddToTail 方法,首尾区间默认采用用户所添加的第一个分段的风格,比如:总共分5段,addToTail 方法依次添加 [0,1)、[1,2)、[2,4)三段,那么首区间(负无穷,0),尾区间[4,正无穷),采用[0,1)的风格。
*/
export interface ThemeRange extends Theme {
/***分段模式
*/
rangeMode: TRangeMode
/***
* 分段参数。当分段模式为等距离分段法,平方根分段,对数分段法,等计数分段法其中一种模式时,该参数为分段个数;当分段模式为标准差分段法的时候,该参数不起作用;当分段模式为自定义距离时,该参数表示自定义距离
*/
rangeParameter?: number
/**分段专题图子项 */
items?: ThemeRangeItem[]
}
/** 标签专题图类。
*
* <p>标签专题图的标注可以是数字、字母与文字,例如:河流、湖泊、海洋、山脉、城镇、村庄等地理名称,高程、等值线数值、河流流速、公路段里程、航海线里程等。</p>
* <P>在标签专题图中,你可以对标签的显示风格和位置进行设置或控制,你可以为所有的标签都设置统一的显示风格和位置选项来显示,也可以通过分段的方式,对单个或每个分段内的标签的风格分别进行设置,另外,单个标签的位置也是可以修改的。</p>
* <p>注:地图上一般还会出现图例说明,图名,比例尺等等,哪些都是制图元素,不属于标签专题图标注的范畴。</p>
*/
export interface ThemeLabel {
/***
* 指定显示字段
*/
labelExpression: string
/***
* 标签沿线标注方向
* 0:沿线的法线方向放置标签
* 1:从上到下,从左到右放置
* 2:从上到下,从右到左放置
* 3:从下到上,从左到右放置
* 4:从下到上,从右到左放置
*/
alongLineDirection?: 0 | 1 | 2 | 3 | 4
/**标签背景形状
* 0:空背景,默认值
* 1:矩形背景
* 2:圆角矩形背景
* 3:椭圆形背景
* 4:菱形背景
* 5:三角形背景
*/
labelBackShape?: 0 | 1 | 2 | 3 | 4 | 5
/**
* 超长标签的处理方式,对超长标签可以不作任何处理,也可以省略超出的部分,或者以换行方式进行显示
* 0:最对超长标签不进行处理。此为默认模式,即在一行中全部显示此超长标签
* 1:省略超出部分。此模式将超长标签中超出指定的标签最大长度(MaxLabelLength)的部分用省略号表示
* 2:换行显示。此模式将超长标签中超出指定的标签最大长度的部分换行显示,即用多行来显示超长标签
*/
overLengthMode?: 0 | 1 | 2
/**
*标签在每一行显示的最大长度,如果超过这个长度,将以省略号显示
*/
maxLabelLength?: number
/**
*标签文本风格
*/
labelStyle?: LabelTextStyle
/**
*标签背景风格
*/
labelBackColor?: {r:number,g:number,b:number}
}
/**
* 文本对象样式
*
* @deprecated 使用geotextstyle
*/
export interface LabelTextStyle {
/** 字体大小 */
TextSize?: number,
/** 字体 */
TextFont?: Array<TextFont>,
/** 字体颜色
* @param r 范围为0-255
* @param g 范围为0-255
* @param b 范围为0-255
*/
TextColor?: {r:number,g:number,b:number},
/** 字体角度 */
TextAngle?: number,
}
export interface ThemeUniqueLabel extends ThemeLabel,Theme {
/**单值专题图子项 */
items: ThemeLabelUniqueItem[]
}
export interface ThemeRangeLabel extends ThemeLabel,Theme {
/***分段模式
*/
rangeMode: TRangeMode
/***
* 分段参数。当分段模式为等距离分段法,平方根分段,对数分段法,等计数分段法其中一种模式时,该参数为分段个数;当分段模式为标准差分段法的时候,该参数不起作用;当分段模式为自定义距离时,该参数表示自定义距离
*/
rangeParameter?: number
/**分段专题图子项 */
items?: ThemeLabelRangeItem[]
}
/*** 获取专题图的颜色方案(String) */
// export function getThemeColorSchemeName(params) {
// try {
// return STheme.getThemeColorSchemeName(params)
// } catch (error) {
// console.error(error)
// }
// }
interface color { r: number, g: number, b: number ,a?:number}
export type TGraduatedMode = IGraduatedMode[keyof IGraduatedMode]
export const GraduatedMode: IGraduatedMode = {
/**常量分级*/
CONSTANT : 0,
/**对数分级*/
SQUAREROOT: 1,
/**平方根分级*/
LOGARITHM:2,
}
export interface IGraduatedMode{
/**常量分级*/
CONSTANT : 0,
/**对数分级*/
SQUAREROOT: 1,
/**平方根分级*/
LOGARITHM:2,
}
export type TThemeGraphType = IThemeGraphType[keyof IThemeGraphType]
export const ThemeGraphType: IThemeGraphType = {
/**面积图*/
AREA: 0,
/**阶梯图*/
STEP: 1,
/**折线图*/
LINE: 2,
/**点状图*/
POINT: 3,
/**柱状图*/
BAR: 4,
/**三维柱状图*/
BAR3D: 5,
/**饼图*/
PIE: 6,
/**三维饼图*/
PIE3D: 7,
/**玫瑰图*/
ROSE: 8,
/**三维玫瑰图*/
ROSE3D: 9,
/**堆叠柱状图*/
STACK_BAR: 12,
/**三维堆叠柱状图*/
STACK_BAR3D: 13,
/**环状图*/
RING: 14,
}
export interface IThemeGraphType{
/**面积图*/
AREA:0,
/**阶梯图*/
STEP:1,
/**折线图*/
LINE:2,
/**点状图*/
POINT:3,
/**柱状图*/
BAR:4,
/**三维柱状图*/
BAR3D:5,
/**饼图*/
PIE:6,
/**三维饼图*/
PIE3D:7,
/**玫瑰图*/
ROSE:8,
/**三维玫瑰图*/
ROSE3D:9,
/**堆叠柱状图*/
STACK_BAR:12,
/**三维堆叠柱状图*/
STACK_BAR3D:13,
/**环状图*/
RING:14,
}
/***
* 统计专题图
*/
export interface ThemeGraph {
/**统计专题图子项(创建时必传) */
items: ThemeGraphItem[],
/**统计图类型 (创建时必传)*/
graphType: TThemeGraphType,
/**颜色方案(与色带互斥) */
graphColorType?:string,
/**色带(与颜色方案互斥)*/
colors?: color[],
/**统计图显示最大值 */
maxSize?:number;
/**常量分级、对数分级和平方根分级 "CONSTANT"常量分级 "LOGARITHM"对数分级 "SQUAREROOT"平方根分级 */
GraduatedMode?:TGraduatedMode,
}
export interface ThemeGraphItem {
/**统计专题图子项字段表达式 */
expression:string,
/**统计专题图子项名称 */
caption?:string,
/**统计专题图子项风格 */
style?:GeoStyle,
}
/***
* 点密度专题图
*/
export interface ThemeDotDensity extends Theme{
/**点密度专题图边线颜色 */
color?:color,
/**点密度专题图中每一个点所代表的数值 */
value?:number,
/**点密度专题图符号的大小,单位为0.1毫米 */
SymbolSize?:number,
/**点密度专题图点对象的符号风格 (大于等于0)*/
SymbolID?:number,
}
/**
* 等级符号专题图
*/
export interface ThemeGraduated extends Theme{
/**常量分级、对数分级和平方根分级 "CONSTANT"常量分级 "LOGARITHM"对数分级 "SQUAREROOT"平方根分级 */
GraduatedMode?:TGraduatedMode,
/**等级符号专题图符号的大小,单位为0.1毫米 */
SymbolSize?:number,
/**颜色 */
color?:color,
/**设置点对象的符号风格 (大于等于0)*/
SymbolID?:number,
/**符号的大小基准值 */
BaseValue?:number,
/**符号的旋转角度,旋转的方向为逆时针方向,单位为度 */
angle?:number,
/** 是否允许统计图追随其对应的对象流动显示(默认true) */
flowEnabled?:boolean,
}
export type TAggregationFunctionType = IAggregationFunctionType[keyof IAggregationFunctionType]
export const AggregationFunctionType: IAggregationFunctionType = {
/**求和*/
SUM : 0,
/**平均值*/
AVG: 1,
/**最大值*/
MAX:2,
/**最小值*/
MIN:3,
/**数量*/
COUNT:4,
}
export interface IAggregationFunctionType{
/**求和*/
SUM : 0,
/**平均值*/
AVG: 1,
/**最大值*/
MAX:2,
/**最小值*/
MIN:3,
/**数量*/
COUNT:4,
}
/**
* 热力图
*/
export interface ThemeHeat{
/**用于计算密度的核半径 单位:屏幕坐标 范围[0-50]*/
kernelRadius:number,
/** 高密度点的颜色 */
maxColor?:color,
/**低密度点的颜色 */
minColor?:color,
/** 热力图中颜色渐变的模糊程度,参数范围[0-1] */
fuzzyDegree?:number,
/**
* 热力图中高点密度颜色(MaxColor)和低点密度颜色(MinColor)确定渐变色带中高点
* 密度颜色所占的比重,该值越大,表示色带中高点密度颜色所占比重越大。取值范围[0-1]
*/
intensity?:number,
/**色带(与颜色集合互斥)*/
colorScheme?: string
/**颜色集合(与色带互斥) */
colorset?:color[],
/** 最大值 */
maxValue?:number,
/** 最小值 */
minValue?:number,
/**
* 权重字段,热力图图层除了可以反映点要素的相对密度,还可以表示根据权重字段进行加权的点密度,
* 以此考虑点本身的权重对于密度的贡献(数据集字段)
*/
weightField?:string,
/**热力图聚合字段应用的聚合函数 */
AggregationFunctionType?:TAggregationFunctionType,
}
/**栅格单值专题图 注:栅格数据集的单值项系统的最大限制数目3000条*/
export interface ThemeUniqueGrid {
/**色带(与颜色方案互斥)*/
colorScheme?: string,
/**颜色方案(与色带互斥)*/
colorGradientType?: TColorGradientType,
/**栅格单值专题图层的特殊值 */
SpecialValue?:number,
/**栅格单值专题图的默认颜色,对于那些未在栅格单值专题图子项之列的对象使用该颜色显示 */
DefaultColor?:color,
/**栅格单值专题图层的特殊值所处区域是否透明 */
SpecialValueTransparent?:boolean,
/**栅格单值专题图子项 */
items?: ThemeUniqueGridItem[],
}
/**栅格单值专题图子项 */
export interface ThemeUniqueGridItem {
/***栅格单值专题图子项的单值*/
unique: number
/**栅格单值专题图子项是否可见*/
isVisible: boolean
/**每个栅格单值专题图子项的名称*/
caption: string
/**每个栅格单值专题图子项的颜色*/
color: color
}
export interface ThemeRangeGrid{
/**色带(与颜色方案互斥)*/
colorScheme?: string,
/**颜色方案(与色带互斥)*/
colorGradientType?: TColorGradientType,
/**栅格分段专题图层的特殊值 */
SpecialValue?: number,
/**栅格分段专题图层的特殊值所处区域是否透明 */
SpecialValueTransparent?: boolean,
/***分段模式
*/
rangeMode?: TRangeMode,
/***
* 分段参数。当分段模式为等距离分段法,平方根分段,对数分段法,等计数分段法其中一种模式时,该参数为分段个数;当分段模式为标准差分段法的时候,该参数不起作用;当分段模式为自定义距离时,该参数表示自定义距离
*/
rangeParameter?: number,
/**栅格分段专题图子项 */
items?:ThemeRangeGridItem[],
}
export interface ThemeRangeGridItem{
/***栅格分段专题图子项的开始值*/
start: number
/***栅格分段专题图子项的结束值*/
end: number
/**栅格分段专题图子项是否可见*/
isVisible: boolean
/**每个栅格分段专题图子项的名称*/
caption: string
/**每个栅格分段专题图子项的颜色*/
color: color
}
/***
* 新建单值专题图层(根据数据集创建专题图层,并添加地图)
* @param datasetInfo 数据集信息
* @param params 单值专题图参数类
* @returns 成功返回图层信息,失败返回null
*/
export function createThemeUniqueLayer(datasetInfo: DatasetInfo, params: Theme): Promise<LayerInfo | null> {
return STheme.createThemeUniqueLayer(datasetInfo, params)
}
/***
* 修改单值专题图
* @param layerPath 图层名,如果有分组则为group/layerName
* @param params 单值专题图参数类,详情参见ThemeUnique
* @returns 成功返回true,失败返回false
*/
export function modifyThemeUniqueLayer(layerPath: string, params: Partial<ThemeUnique>): Promise<boolean> {
return STheme.modifyThemeUniqueLayer(layerPath, params)
}
/***
* 获取单值专题图信息
* @param layerPath 图层名,如果有分组则为group/layerName
* @returns 返回ThemeUnique,详情参见ThemeUnique
*/
export function getThemeUniqueInfo(layerPath: string): Promise<ThemeUnique|null> {
return STheme.getThemeUniqueInfo(layerPath)
}
/***
* 新建分段专题图层
* @param datasetInfo 数据集信息
* @param params 分段专题图参数类,详情参见ThemeRange
* @returns 成功返回图层信息,失败返回null
*/
export function createThemeRangeLayer(datasetInfo: DatasetInfo, params: ThemeRange): Promise<LayerInfo | null> {
return STheme.createThemeRangeLayer(datasetInfo, params)
}
/***
* 修改分段专题图
* @param layerPath 图层名,如果有分组则为group/layerName
* @param params 分段专题图参数类,详情参见ThemeRange
* @returns 成功返回true,失败返回false
*/
export function modifyThemeRangeLayer(layerPath: string, params: Partial<ThemeRange>): Promise<boolean> {
return STheme.modifyThemeRangeLayer(layerPath, params)
}
/***
* 获取分段专题图信息
* @param layerPath 图层名,如果有分组则为group/layerName
* @returns ThemeRange,详情参见ThemeRange
*/
export function getThemeRangeInfo(layerPath: string): Promise<ThemeRange|null> {
return STheme.getThemeRangeInfo(layerPath)
}
/***
* 新建统一标签专题图
* @param datasetInfo 数据源的别名、 数据集名称
* @param params 标签专题图参数类,详情参见ThemeLabel
* @returns 成功返回true,失败返回false
*/
export function createUniformThemeLabelLayer(datasetInfo: DatasetInfo, params: ThemeLabel) : Promise<LayerInfo | null>{
return STheme.createUniformThemeLabelLayer(datasetInfo,params)
}
/***
* 修改统一标签专题图
* @param layerPath 图层名,如果有分组则为group/layerName
* @param params 统一标签专题参数类,详情参见 ThemeLabel
* @returns 成功返回true,失败返回false
*/
export function modifyUniformLabelLayer(layerPath: string, params: Partial<ThemeLabel>): Promise<boolean> {
return STheme.modifyUniformLabelLayer(layerPath,params)
}
/***
* 获取统一标签专题图信息
* @param layerPath 图层名,如果有分组则为group/layerName
* @returns ThemeLabel,详情参见ThemeLabel
*/
export function getUniformLabelInfo(layerPath: string): Promise<ThemeLabel|null> {
return STheme.getUniformLabelInfo(layerPath)
}
/***
* 新建单值标签专题图
*
* @param datasetInfo (数据源的别名、 数据集名称)
* @param params 专题图参数类
* @returns 成功返回true,失败返回false
*/
export function createUniqueThemeLabelLayer(datasetInfo: DatasetInfo, params: ThemeUnique): Promise<LayerInfo | null> {
return STheme.createUniqueThemeLabelLayer(datasetInfo, params)
}
/***
* 修改单值标签专题图
* @param layerPath 图层名,如果有分组则为group/layerName
* @param params 单值专题图字段表达式、 颜色表样式
* @returns 成功返回true,失败返回false
*/
export function modifyUniqueThemeLabelLayer(layerPath: string, params: Partial<ThemeUniqueLabel>): Promise<boolean> {
return STheme.modifyUniqueThemeLabelLayer(layerPath, params)
}
/***
* 获取单值标签专题图信息
* @param layerPath 图层名,如果有分组则为group/layerName
* @returns 返回ThemeUnique,详情参见ThemeUnique
*/
export function getUniqueThemeLabelLayerInfo(layerPath: string): Promise<ThemeUniqueLabel|null> {
return STheme.getUniqueThemeLabelLayerInfo(layerPath)
}
/***
* 新建分段标签图层
*
* @param datasetInfo (数据源的别名、 数据集名称)
* @param params ThemeRangeLabel专题图参数类,详情参见ThemeRangeLabel
* @returns 成功返回true,失败返回false
*/
export function createRangeThemeLabelLayer(datasetInfo: DatasetInfo, params: ThemeRangeLabel): Promise<LayerInfo | null> {
return STheme.createRangeThemeLabelLayer(datasetInfo,params)
}
/***
* 修改分段标签专题图
* @param layerPath 图层名,如果有分组则为group/layerName
* @param params 单值专题图字段表达式、 颜色表样式
* @returns 成功返回true,失败返回false
*/
export function modifyRangeThemeLabelLayer(layerPath: string, params: Partial<ThemeRangeLabel>): Promise<boolean> {
return STheme.modifyRangeThemeLabelLayer(layerPath, params)
}
/***
* 获取分段标签专题图信息
* @param layerPath 图层名,如果有分组则为group/layerName
* @returns 返回ThemeUnique,详情参见ThemeUnique
*/
export function getRangeThemeLabelLayerInfo(layerPath: string): Promise<ThemeRangeLabel|null> {
return STheme.getRangeThemeLabelLayerInfo(layerPath)
}
/***
* 新建统计专题图(根据数据集创建专题图层,并添加地图)
* @param datasetInfo 数据集信息
* @param params 统计专题图参数类
* @returns 成功返回图层信息,失败返回null
*/
export function createThemeGraphLayer(datasetInfo: DatasetInfo,params:ThemeGraph) : Promise<LayerInfo | null>{
return STheme.createThemeGraphLayer(datasetInfo,params)
}
/***
* 修改统计专题图
* @param layerPath 图层名称,如果有分组则为group/layerName
* @param params 统计专题图参数类
* @returns 成功返回true,失败返回false
*/
export function modifyThemeGraphLayer(layerPath: string,params:Partial<ThemeGraph>) : Promise<boolean>{
return STheme.modifyThemeGraphLayer(layerPath,params)
}
/***
* 获取统计专题图的信息
* @param layerPath 图层名称,如果有分组则为group/layerName
* @returns 返回统计专题图参数类ThemeGraph
*/
export function getThemeGraphInfo(layerPath: string) : Promise<ThemeGraph|null>{
return STheme.getThemeGraphInfo(layerPath)
}
/***
* 新建点密度专题图
* @param datasetInfo 数据集信息
* @param params 点密度专题图参数类
* @returns 成功返回图层信息,失败返回null
*/
export function createThemeDotDensityLayer(datasetInfo: DatasetInfo,params:ThemeDotDensity) : Promise<LayerInfo | null>{
return STheme.createThemeDotDensityLayer(datasetInfo,params)
}
/***
* 修改点密度专题图:设置点密度图的表达式,单点代表的值,点风格(大小和颜色)。
* layerPath 图层名称,如果有分组则为group/layerName
* @param params 点密度专题图参数类
* @returns 成功返回true,失败返回false
*/
export function modifyThemeDotDensityLayer(layerPath: string,params:Partial<ThemeDotDensity>) : Promise<boolean> {
return STheme.modifyThemeDotDensityLayer(layerPath,params)
}
/***
* 获取点密度专题图信息
* @param layerPath 图层名称,如果有分组则为group/layerName
* @returns 返回点密度专题图参数类ThemeDotDensity
*/
export function getThemeDotDensityInfo(layerPath:string) : Promise<ThemeDotDensity|null>{
return STheme.getThemeDotDensityInfo(layerPath)
}
/***
* 新建等级符号专题图
* @param datasetInfo 数据集信息
* @param params 等级符号专题图参数类
* @returns 成功返回图层信息,失败返回null
*/
export function createThemeGraduatedSymbolLayer(datasetInfo: DatasetInfo,params:ThemeGraduated) : Promise<LayerInfo | null>{
return STheme.createThemeGraduatedSymbolLayer(datasetInfo,params)
}
/***
* 修改等级符号专题图:设置表达式,分级方式,基准值,正值基准值风格(大小和颜色)。
* layerPath 图层名称,如果有分组则为group/layerName
* @param params 修改等级符号参数类
* @returns 成功返回true,失败返回false
*/
export function modifyThemeGraduatedSymbolLayer(layerPath:string,params:Partial<ThemeGraduated>) : Promise<boolean>{
return STheme.modifyThemeGraduatedSymbolLayer(layerPath,params)
}
/***
* 获取等级符号专题图的信息
* @param layerPath 图层名称,如果有分组则为group/layerName
* @returns 返回等级符号专题图参数类
*/
export function getThemeGraduatedSymbolInfo(layerPath:string) : Promise<ThemeGraduated|null>{
return STheme.getThemeGraduatedSymbolInfo(layerPath)
}
/***
* 数据集->创建栅格分段专题图
* @param datasetInfo 数据集信息
* @param params 栅格分段专题图参数类
* @returns 成功返回图层信息,失败返回null
*/
export function createThemeGridRangeLayer(datasetInfo: DatasetInfo,params:ThemeRangeGrid) : Promise<LayerInfo | null> {
return STheme.createThemeGridRangeLayer(datasetInfo,params)
}
/***
* 修改栅格分段专题图
* @param layerPath 图层名称,如果有分组则为group/layerName
* @param params 栅格分段专题图参数类
* @returns 成功返回true,失败返回false
*/
export function modifyThemeGridRangeLayer(layerPath:string,params:ThemeRangeGrid) : Promise<boolean> {
return STheme.modifyThemeGridRangeLayer(layerPath,params)
}
/***
* 获取栅格分段专题图的信息
* @param layerPath 图层名称,如果有分组则为group/layerName
* @returns 返回栅格分段专题图参数类
*/
export function getThemeGridRangeInfo(layerPath:string) : Promise<ThemeRangeGrid|null> {
return STheme.getThemeGridRangeInfo(layerPath)
}
/***
* 数据集->创建栅格单值专题图
* @param datasetInfo 数据集信息
* @param params 栅格单值专题图参数类
* @returns 成功返回图层信息,失败返回null
*/
export function createThemeGridUniqueLayer(datasetInfo: DatasetInfo,params:ThemeUniqueGrid) : Promise<LayerInfo | null>{
return STheme.createThemeGridUniqueLayer(datasetInfo,params)
}
/***
* 修改栅格单值专题图
* @param layerPath 图层名称,如果有分组则为group/layerName
* @param params 栅格单值专题图参数类
* @returns 成功返回true,失败返回false
*/
export function modifyThemeGridUniqueLayer(layerPath:string,params:ThemeUniqueGrid) : Promise<boolean>{
return STheme.modifyThemeGridUniqueLayer(layerPath,params)
}
/***
* 获取栅格单值专题图的信息
* @param layerPath 图层名称,如果有分组则为group/layerName
* @returns 返回栅格单值专题图参数类
*/
export function getThemeGridUniqueInfo(layerPath:string) : Promise<ThemeUniqueGrid|null>{
return STheme.getThemeGridUniqueInfo(layerPath)
}
/***
* 新建热力图
* @param datasetInfo 数据集信息
* @param params 热力图参数类
* @returns 成功返回图层信息,失败返回null
*/
export function createThemeHeatLayer(datasetInfo: DatasetInfo,params:ThemeHeat) : Promise<LayerInfo | null> {
return STheme.createThemeHeatLayer(datasetInfo,params)
}
/***
* 修改热力图
* @param layerPath 图层名称,如果有分组则为group/layerName
* @param params 热力图参数类
* @returns 成功返回true,失败返回false
*/
export function modifyThemeHeatLayer(layerPath:string,params:Partial<ThemeHeat>) : Promise<boolean>{
return STheme.modifyThemeHeatLayer(layerPath, params)
}
/***
* 获取热力图的信息
* @param layerPath 图层名称,如果有分组则为group/layerName
* @returns 返回热力图参数类
*/
export function getThemeHeatInfo(layerPath:string) : Promise<ThemeHeat|null> {
return STheme.getThemeHeatInfo(layerPath)
}