现在的位置: 首页GIS, Microsoft, Skills 点滴, Web 网络>正文
arcgis server REST api 中目前支持的Raster Functions介绍
2010年08月26日 GIS, Microsoft, Skills 点滴, Web 网络 暂无评论

arcgis server中的 image service 能够提供对影像原始数据的动态访问,得到其元数据(metadata):包括自定义的空间参考,图幅范围,像元大小,像元类型,波段数,以及各波段的基础统计信息(最小值,最大值,平均值之类);能够根据相关参数生成新的影像,同时在arcgis server 10版本中还添加了针对栅格数据的查询(先前纠结很久很久才根据identify写出这个功能···)和下载功能。最重要的是不同于map service(不论是cache或non-cache),能够对影像做一些处理,比如计算NDVI,坡度,坡向,进行Standard Deviation拉伸、直方图均匀化拉伸,minmax拉伸等基本处理。虽然和专门的影像处理软件完全不能比较,但是能在网络上进行遥感影像处理,这不是 “云”的开始吗····

一些raster function介绍:

raster function是通过image service输出影像操作中的renderingRule参数实现的,此参数语法如下:

{  "rasterFunction" : "<rasterFunctionName>",  "rasterFunctionArguments" : {<rasterFunctionArguments>},  "variableName" : "<variableName>"}

现在按<rasterFunctionName> 介绍:

  • "rasterFunction" : "Aspect"
  • 此function无参

    {  "rasterFunction" : "Aspect"}

  • "rasterFunction" : "Colormap"
  • 此function参数形式如下

    {  "rasterFunction" : "Colormap",  "rasterFunctionArguments" : {    "ColormapName" : "<Random | NDVI | Elevation | Gray>",    "Colormap" : [      [<value1>, <red1>, <green1>, <blue1>], //[int, int, int, int]      [<value2>, <red2>, <green2>, <blue2>]    ]  },  "variableName" : "Raster"}

    例子:

    {  "rasterFunction" : "Colormap",  "rasterFunctionArguments" : {    "ColormapName" : "Random"  },  "variableName" : "Raster"}

  • "rasterFunction" : "Hillshade"
  • 此function参数形式如下

    {  "rasterFunction" : "Hillshade",  "rasterFunctionArguments" : {    "Azimuth" : <Azimuth>, //double (e.g. 215.0)    "Altitude" : <Altitude>, //double (e.g. 75.0)    "ZFactor" : <ZFactor> //double (e.g. 0.3)  },  "variableName" : "DEM"}
    例子:
    {  "rasterFunction" : "Hillshade",  "rasterFunctionArguments" : {    "Azimuth" : 215.0,    "Altitude" : 75.0,    "ZFactor" : 0.3  },  "variableName" : "DEM"}

  • "rasterFunction" : "NDVI"
  • 此function参数形式如下 
    {  "rasterFunction" : "NDVI",  "rasterFunctionArguments" : {    "VisibleBandID" : <VisibleBandID>, //int (zero-based band id, e.g. 2)    "InfraredBandID" : <InfraredBandID> //int (zero-based band id, e.g. 1)  },  "variableName" : "Raster"}

    例子:
    {  "rasterFunction" : "NDVI",  "rasterFunctionArguments" : {    "VisibleBandID" : 2,    "InfraredBandID" : 1  },  "variableName" : "Raster"}

  • "rasterFunction" : "ShadedRelief"
  • 此function参数形式如下 
    {  "rasterFunction" : "ShadedRelief",  "rasterFunctionArguments" : {    "Azimuth" : <Azimuth>, //double (e.g. 215.0)    "Altitude" : <Altitude>, //double (e.g. 75.0)    "ZFactor" : <ZFactor>, //double (e.g. 0.3)    "Colormap" : [      [<value1>, <red1>, <green1>, <blue1>], //[int, int, int, int]      [<value2>, <red2>, <green2>, <blue2>]    ]  },  "variableName" : "Raster"}

    例子:
    {  "rasterFunction" : "ShadedRelief",  "rasterFunctionArguments" : {    "Azimuth" : 215.0,    "Altitude" : 75.0,    "ZFactor" : 0.3,    "Colormap" : [      [0, 1, 2, 3],      [2, 45, 52, 13]    ]  },  "variableName" : "Raster"}

  • "rasterFunction" : "Slope"
  • 此function参数形式如下
    {  "rasterFunction" : "Slope",  "rasterFunctionArguments" : {    "ZFactor" : <ZFactor> //double (e.g. 0.3)  },  "variableName" : "DEM"}

    例子:
    {  "rasterFunction" : "Slope",  "rasterFunctionArguments" : {    "ZFactor" : 0.3  },  "variableName" : "DEM"}

  • "rasterFunction" : "Statistics"
  • {
    
      "rasterFunction" : "Statistics",  "rasterFunctionArguments" : {    "Type" : "<Min | Max | Mean | StandardDeviation>",    "KernelColumns" : <KernelColumns>, //int (e.g. 3)    "KernelRows" : <KernelRows> //int (e.g. 3)  },  "variableName" : "Raster"}
    例子:
    {  "rasterFunction" : "Statistics",  "rasterFunctionArguments" : {    "Type" : "Mean",    "KernelColumns" : 3,    "KernelRows" : 3  },  "variableName" : "Raster"}

  • "rasterFunction" : "Stretch"
  • 此function参数形式如下
    {  "rasterFunction" : "Stretch",  "rasterFunctionArguments" : {    "StretchType" : <StretchType>, //int (0 = None, 3 = StandardDeviation, 4 = Histogram Equalization, 5 = MinMax)    "NumberOfStandardDeviations" : <NumberOfStandardDeviations>, //int (e.g. 2)    "Statistics" : [      [<min1>, <max1>, <mean1>, <standardDeviation1>], //[double, double, double, double]      [<min2>, <max2>, <mean2>, <standardDeviation2>]    ],    "Gamma" : [<gamma1>, <gamma2>] //array of doubles  },  "variableName" : "Raster"}

    例子:

    {  "rasterFunction" : "Stretch",  "rasterFunctionArguments" : {    "StretchType" : 3,    "NumberOfStandardDeviations" : 2,    "Statistics" : [      [0.2, 222.46, 99.35, 1.64],      [5.56, 100.345, 45.4, 3.96],      [0, 352.37, 172.284, 2]    ],    "Gamma" : [1.25, 2, 3.95]  },  "variableName" : "Raster"}

0

给我留言

留言无头像?

×
腾讯微博