1. WCS 服务
GeoEpoch 文档
  • Epoch GisServer
    • 产品概述
    • 软件部署
      • 安装软件
      • 启动服务
      • 修改密码
      • 服务备份
      • 卸载软件
      • 集群部署
        • Windows 环境
        • Linux 环境
    • 地图设计
      • 启动程序
      • 比例尺设置
      • 图层设置
      • 样式设置
      • 网络设置
      • 坐标系设置
      • 保存地图
    • 服务管理
      • 管理功能
      • 服务查看
      • 接口调试
    • 服务类型
      • WMS 服务
      • WFS 服务
      • WNS 服务
      • TMS 服务
      • CTS 服务
      • ODS 服务
      • Geometry 服务
      • WCS 服务
        • 基本操作
        • 动态时间序列
        • 内置栅格函数
        • 自定义函数
        • 高级计算服务
      • C3D 服务
        • 基本操作
        • 压缩配置选项
        • 业务数据联接
        • 模型动态更新
        • 虚拟化视图
        • 即时服务接口
      • 地理编码服务
        • 地址库管理
        • 地址库查询
      • 数据存储服务
        • 数据导入
        • 数据访问
        • 数据工具
  • Epoch TileBuilder
    • 产品概述
    • 软件安装
    • 地图设计
    • 切片制作
    • 切片接口
  1. WCS 服务

自定义函数

对于更加复杂的运算,可以在服务端编写 JavaScript 脚本函数,将运算函数化。
自定义函数是通过编写 JS 脚本,将多个内置函数组合成新的函数。自定义函数的名称与 JS 脚本文件名称相同,JS 脚本放在服务对应文件夹的 script 文件夹(若没有则新建)下。

操作步骤#

1.
在数据所在目录下新建 scripts 子目录;
2.
编写脚本文件,文件按“函数名称.js ”方式进行命名;
3.
将脚本文件存放在 scripts 子目录下;
4.
通过接口参数 renderingRule 中的 rasterFunction 和rasterFunctionArguments 调用自定义函数和传递参数;
5.
运行结果可以以 result、result+image 方式返回。通过接口参数 f 可进行指定:f 为“image ”时 Coverage 将被栅格化后返回,否则只通过 result 返回运算结果。

预设变量#

变量名说明
global当 前 接 口 调 用 数 据 所 属 服 务 , 可 通 过global.coverage(name,[bandIds])引用该服务下的其他 Coverage 对象
self当前接口调用的 Coverage 对象
args接口调用函数时携带的参数集, 对应 renderingRule 中的rasterFunctionArguments 对象,同时所有参数也被分别绑定为运行时变量
result函数执行后需要返回的数值结果,只能为基本数据类型或基本数据类型数组

Coverage 类方法#

Coverage 方法参数功能描述
Coverage clip(Geometry polygon, int clippingType)polygon::多边形 , clippingType:裁剪类型 1.外部 2.内部多边形裁剪
Coverage clip(Geometry[] polygons, int clippingType)polygons::多边形集合 , clippingType:裁剪类型 1.外部 2.内部多个多边形裁剪
Coverage remap(Number[] inputRanges, Number[] outputValues)inputRanges:被映射值,outputValues:映射值值映射
Coverage colorMap(Number[][]cvList)cvList:值到颜色的映射定义,格式为[[<value1>, <red1>, <green1>, <blue1>],[...]],颜色映射,如[[1, 255, 0, 0]]将数值 1 映射为红色
Coverage colorRamp()-颜色梯度(蓝红色带)
Coverage colorRamp(double[] ranges)ranges:映射范围,格式 [startValue, endValue]颜色梯度,自定义映射范围,如[-30,40] 表示 小于等于-30 为蓝色,大于等于 40 为红色
Coverage arithmetic(Coverage coverage, int operation)coverage:参与运算栅格,operation:运算操作,1:加, 2:减, 3:乘, 4:除全波段数值运算
Coverage arithmetic(Coverage coverage, int bindid, int operation)coverage:参与运算栅格,bindid:指定波段,operation:运算操作,1:加, 2:减, 3:乘, 4:除单波段数值运算
Number area(double[] vs)vs:指定值栅格数据中所有与指定值相等的网格点面积和
Number[] sum()-值乘面积求和,栅格数据所有格网点的值与该点球面面积的乘积求和,这通常用于计算某种地理要素的总量(例如:计算区域内的总降水量、总生物量或总人口估算)
Number[] sumVal()-分别对各个波段数值进行求和
Coverage and(Coverage coverage)coverage:参与运算栅格两个栅格同位置数值进行求与
Coverage mul(Comverage coverage)coverage:参与运算栅格两个栅格同位置数值进行相乘
Coverage slope(Coverage coverage)coverage:参与运算栅格两个栅格同位置数值进行坡度计算
Coverage brightness(int offset)offset:偏移量增加/降低亮度
Coverage constrast(in offset)offset:偏移量增加/降低对比度
Coverage saturation(int offset)offset:偏移量增加/降低饱和度

示例#

自定义函数的使用方式与内置函数相同,下面是一个自定义函数的示例:
(1)定义脚本文件 func.js:
(2)接口请求 renderingRule:
{
  "rasterFunction" : "func",
  "rasterFunctionArguments" : {  // 函数中通过 args 引用
    "InputRanges1" : [-1,1200,1200,10000],  
    "InputRanges2" : [-1,500,500,10000], 
    "InputRanges3" : [-1,10,10,90],
    "ClippingGeometry" : { // 定义Geometry类型参数
         "geometryType" : "esriGeometryPolygon",
         "geometries" : [
               {"rings" : [[[105,32], [106,35], [110,33], [108,30], [105,32]]] },
               {"rings" : [[[107,35], [108,34], [110,34], [107,35]]] }
          ]
     },
   }
}



修改于 2026-05-10 15:44:45
上一页
内置栅格函数
下一页
高级计算服务
Built with