Class: ImageServer

ImageServer

new ImageServer(options)

service/igs/ImageServer.js, line 8

影像服务。

ImageServer 用于访问 IGS 影像服务,支持查询影像元信息、色表、直方图、图例、 栅格值、统计信息以及按参数导出影像。

服务地址示例:/igs/rest/services/{folder}/{serviceName}/ImageServer

Name Type Default Description
options Object {} 可选

构造参数。

Name Type Default Description
url String null 可选

服务基地址。

clientId String 可选

客户端标识,会透传到请求参数。

Example
// ES5引入方式
const { ImageServer } = zondy.service

// ES6引入方式
import { ImageServer } from '@mapgis/webclient-common'

const imageServer = new ImageServer({
  url: 'http://localhost:8089/igs/rest/services/whole_hk_dtm_wgs84_5m/ImageServer'
})

Extends

Members

clientIdString undefined

客户端标识

enableGlobeFetchBoolean

是否使用确据唯一的fetch对象,默认为true,当设为false时,会使用自己私有的fetch对象,所有的请求设置不会影响全局

Example
//设置请求基地址
// ES5引入方式
const { BaseServer } = zondy.service

// ES6引入方式
import { BaseServer } from "@mapgis/webclient-common"
let BaseServer = new BaseServer({
  //请求基地址
  url: '你的URL',
  //使用私有的fetch对象
  enableGlobeFetch: false,
  //此时设置token等属性,不会影响全局的fetch对象
  tokenValue: '你的token'
});
//继续使用全局fetch
BaseServer.enableGlobeFetch = true;

headersString

请求头参数

Example
//设置请求头参数
// ES5引入方式
const { BaseServer } = zondy.service

// ES6引入方式
import { BaseServer } from "@mapgis/webclient-common"
let BaseServer = new BaseServer({
  //请求头
  headers: {
     //设置Content-Type为multipart/form-data
    'Content-Type': 'multipart/form-data',
     //设置token
    'token': '你的token'
  }
});
//动态修改
BaseServer.headers.token = '新token';

requestInterceptorfunction

请求发送拦截器

Example
//设置拦截器,任何一个继承自BaseServer的对象都可以设置,全局唯一
// ES5引入方式
const { BaseServer,RequestInterceptor } = zondy.service

// ES6引入方式
import { BaseServer,RequestInterceptor } from "@mapgis/webclient-common"
let BaseServer = new BaseServer({
  //设置请求发送拦截器
  requestInterceptor: new RequestInterceptor({
    //请求发送前进行统一处理
    before: function(config) {
      //执行你的业务逻辑
      //注意必须显示返回config对象,如果返回为空,则不发送请求
      return config;
    },
    //请求发送失败时进行统一处理
    failure: function(error) {
      //执行你的业务逻辑
    }
  })
});
//动态修改
BaseServer.requestInterceptor.before = function() {};

requestTimeoutString

请求超时时间,默认45000ms,即45s

Example
//设置超时时间
//初始化AddressServer服务对象
// ES5引入方式
const { BaseServer } = zondy.service

// ES6引入方式
import { BaseServer } from "@mapgis/webclient-common"
let BaseServer = new BaseServer({
  //超时时间
  requestTimeout: 2000
});
//动态修改
BaseServer.requestTimeout = 3000;

responseInterceptorfunction

请求响应拦截器

Example
//设置拦截器,任何一个继承自BaseServer的对象都可以设置,全局唯一
// ES5引入方式
const { BaseServer,ResponseInterceptor } = zondy.service

// ES6引入方式
import { BaseServer,ResponseInterceptor } from "@mapgis/webclient-common"
let BaseServer = new BaseServer({
  //设置请求响应拦截器
  responseInterceptor: new ResponseInterceptor({
    //执行请求响应,接口调用成功时会执行的回调
    success: function(result) {
      //执行你的业务逻辑
      //注意必须显示返回result对象,如果返回为空,则不执行请求响应成功回调
      return result;
    },
    //请求响应成功,接口调用失败时会执行的函数
    failure: function(result) {
      //执行你的业务逻辑
      //注意必须显示返回result对象,如果返回为空,则不执行回调韩式
      return result;
    }
  })
});
//动态修改
BaseServer.responseInterceptor.success = function() {};

tokenAttachTypeTokenAttachType

指定token附加到何处

Example
//设置token值
// ES5引入方式
const { BaseServer } = zondy.service
const { TokenAttachType } = zondy.enum

// ES6引入方式
import { BaseServer,TokenAttachType } from "@mapgis/webclient-common"
let BaseServer = new BaseServer({
  //token名
  tokenKey: '你的token key',
  //token值
  tokenValue: '你的token值',
  //指定token附加到url后面
  tokenAttachType: TokenAttachType.url
});
//动态修改
BaseServer.tokenAttachType = TokenAttachType.header;

tokenKeyString

token名

Example
//设置token名
// ES5引入方式
const { BaseServer } = zondy.service

// ES6引入方式
import { BaseServer } from "@mapgis/webclient-common"
let BaseServer = new BaseServer({
  //token名
  tokenKey: '你的tokenKey'
});
//动态修改
BaseServer.tokenKey = '新tokenKey';

tokenValueString

token值

Example
//设置token值
// ES5引入方式
const { BaseServer } = zondy.service

// ES6引入方式
import { BaseServer } from "@mapgis/webclient-common"
let BaseServer = new BaseServer({
  //token值
  tokenValue: '你的token值'
});
//动态修改
BaseServer.tokenValue = '新token值';

urlString

服务基地址

Example
//设置请求基地址
// ES5引入方式
const { BaseServer } = zondy.service

// ES6引入方式
import { BaseServer } from "@mapgis/webclient-common"
let BaseServer = new BaseServer({
  //请求基地址
  url: '你的URL'
});
//动态修改
BaseServer.url = '新URL';

Methods

exportImage(options){Promise.<(Object|Blob)>}

service/igs/ImageServer.js, line 310

根据参数请求影像。

默认使用 POST 请求并返回 Blob,适用于导出下载场景。

Name Type Default Description
options Object {} 可选

出图参数。

Name Type Default Description
method FetchMethod FetchMethod.post 可选

请求方式。

bbox Extent 可选

出图范围。

size String '512,512' 可选

图片大小,格式为 width,height

format String 'PNG' 可选

返回图片格式,支持 PNGJPGMIXED

imageSR SpatialReference 可选

投影空间参考系。

interpolation String 可选

重采样方式。

bandIds Array.<Number> 可选

波段 ID 列表,例如 [2,0,1]

maskBoundary Geometry 可选

掩膜几何。

renderingRule String 可选

渲染规则字符串(IGS 对象 JSON 字符串)。

f String 可选

返回格式。

Returns:
Type Description
Promise.<(Object|Blob)> 出图响应结果。

getColorMap(options){Promise.<Object>}

service/igs/ImageServer.js, line 78

查询影像色表。

Name Type Default Description
options Object {} 可选

查询参数。

Name Type Description
success function 可选

请求成功回调。

failure function 可选

请求失败回调。

Returns:
Type Description
Promise.<Object> 色表查询结果。
Example
//回调方式
imageServer.getColorMap({
         success: function (result) {
           console.log('请求成功:', result)
         }
       })
//promise方式
imageServer.getColorMap({
}).then(function (result) {
  console.log('请求成功:', result);
}).catch(function (result) {
  console.log('请求失败:', result);
});

getHistograms(options){Promise.<Object>}

service/igs/ImageServer.js, line 118

查询影像直方图信息。

Name Type Default Description
options Object {} 可选

查询参数。

Name Type Description
success function 可选

请求成功回调。

failure function 可选

请求失败回调。

Returns:
Type Description
Promise.<Object> 直方图查询结果。
Example
//回调方式
imageServer.getHistograms({
         success: function (result) {
           console.log('请求成功:', result)
         }
       })
//promise方式
imageServer.getHistograms({
}).then(function (result) {
  console.log('请求成功:', result);
}).catch(function (result) {
  console.log('请求失败:', result);
});

getImage(options){String}

service/igs/ImageServer.js, line 394

生成影像出图 URL 模板。

可通过 formatMode='replace' 生成可替换模板参数,便于前端按需替换 bbox/size

Name Type Default Description
options Object {} 可选

出图参数。

Name Type Default Description
bbox Extent 可选

出图范围。

size String '512,512' 可选

图片大小,格式为 width,height

format String 'PNG' 可选

返回图片格式。

imageSR SpatialReference 可选

投影空间参考系。

interpolation String '' 可选

重采样方式。

bandIds Array.<Number> 可选

波段 ID 列表。

maskBoundary Geometry 可选

掩膜几何。

renderingRule RasterFunction 可选

渲染规则。

f String 'image' 可选

返回格式,支持 htmlimage

formatMode String 'normal' 可选

参数模板模式,支持 normalreplace

Returns:
Type Description
String 出图 URL。

getLegend(options){Promise.<Object>}

service/igs/ImageServer.js, line 158

查询影像图例信息。

Name Type Default Description
options Object {} 可选

查询参数。

Name Type Default Description
size String '15,15' 可选

图例大小,格式为 width,height

bandIds String 可选

波段 ID 列表。

success function 可选

请求成功回调。

failure function 可选

请求失败回调。

Returns:
Type Description
Promise.<Object> 图例查询结果。
Example
//回调方式
imageServer.getLegend({
         bandIds:'2',
         success: function (result) {
           console.log('请求成功:', result)
         }
       })
//promise方式
imageServer.getLegend({
   bandIds:'2',
}).then(function (result) {
  console.log('请求成功:', result);
}).catch(function (result) {
  console.log('请求失败:', result);
});

getRasterValue(options){Promise.<Object>}

service/igs/ImageServer.js, line 211

查询指定地理坐标位置的栅格值。

Name Type Default Description
options Object {} 可选

查询参数。

Name Type Description
x Number

查询点 x 坐标。

y Number

查询点 y 坐标。

success function 可选

请求成功回调。

failure function 可选

请求失败回调。

Returns:
Type Description
Promise.<Object> 栅格值查询结果。
Example
//回调方式
imageServer.getRasterValue({
         x:113.82174801481621,
         y:22.573404544364156,
         success: function (result) {
           console.log('请求成功:', result)
         }
       })
//promise方式
imageServer.getRasterValue({
         x:113.82174801481621,
         y:22.573404544364156,
}).then(function (result) {
  console.log('请求成功:', result);
}).catch(function (result) {
  console.log('请求失败:', result);
});

getStatistics(options){Promise.<Object>}

service/igs/ImageServer.js, line 268

查询影像统计信息。

Name Type Default Description
options Object {} 可选

查询参数。

Name Type Description
success function 可选

请求成功回调。

failure function 可选

请求失败回调。

Returns:
Type Description
Promise.<Object> 统计信息查询结果。
Example
//回调方式
imageServer.getStatistics({
         success: function (result) {
           console.log('请求成功:', result)
         }
       })
//promise方式
imageServer.getStatistics({
}).then(function (result) {
  console.log('请求成功:', result);
}).catch(function (result) {
  console.log('请求失败:', result);
});

getTile(options){String}

service/igs/ImageServer.js, line 473

生成影像瓦片请求 URL。

该方法用于拼装 ImageServer 的瓦片访问地址,并自动合并构造参数中的查询串。

Name Type Default Description
options Object {} 可选

出图参数。

Name Type Default Description
lvl String | Number '{z}' 可选

预留参数,当前实现固定返回 {z} 模板。

row String | Number '{y}' 可选

预留参数,当前实现固定返回 {y} 模板。

col String | Number '{x}' 可选

预留参数,当前实现固定返回 {x} 模板。

f String 'image' 可选

返回格式。

blankTile Boolean | null null 可选

无瓦片数据时是否返回空白图。

Returns:
Type Description
String 瓦片请求 URL。

queryImageInfo(options){Promise.<Object>}

service/igs/ImageServer.js, line 38

查询影像数据元信息。

Name Type Default Description
options Object {} 可选

查询参数。

Name Type Description
success function 可选

请求成功回调。

failure function 可选

请求失败回调。

Returns:
Type Description
Promise.<Object> 影像元信息查询结果。
Example
//回调方式
imageServer.queryImageInfo({
         success: function (result) {
           console.log('请求成功:', result)
         }
       })
//promise方式
imageServer.queryImageInfo({
}).then(function (result) {
  console.log('请求成功:', result);
}).catch(function (result) {
  console.log('请求失败:', result);
});

inherited queryServerInfo(options){Promise.<Object>}

service/BaseServer.js, line 140

获取服务信息,IGS2.0新增服务

Name Type Default Description
options Object {} 可选

查询参数

Name Type Default Description
success function 可选

查询成功回调函数,若使用Promise方式则不必填写

failure function 可选

查询失败回调函数,若使用Promise方式则不必填写

Returns:
Type Description
Promise.<Object> 服务信息查询结果
Examples

获取服务信息-回调方式

server.queryServerInfo({
  success: function (result) {
    console.log('请求成功:', result);
  },
  failure: function (result) {
    console.log('请求失败:', result);
  }
});

获取服务信息-promise方式

server.queryServerInfo({
})
.then(function (result) {
  console.log('请求成功:', result);
}).catch(function (result) {
  console.log('请求失败:', result);
});