ArcGIS API For Flex对ImageServer发布的服务进行渲染及RasterFunction支持函数(学习笔记)
来源:互联网 发布:phpdisk无法连接数据库 编辑:程序博客网 时间:2024/06/05 10:15
ArcGIS Server中的 Image Service 能够提供对影像原始数据的动态访问,得到其元数据(metadata):
包括自定义的空间参考,图幅范围,像元大小,像元类型,波段数,以及各波段的基础统计信息(最小值,最大值,平均值之
类);能够根据相关参数生成新的影像,同时在arcgis server 10版本中还添加了针对栅格数据的查询和下载功能。最重要的是不同
于map service(不论是cache或non-cache),能够对影像做一些处理,比如计算NDVI,坡度,坡向,进行Standard Deviation拉
伸、直方图均匀化拉伸,minmax拉伸等基本处理。虽然和专门的影像处理软件完全不能比较,但是能在网络上进行遥感影像处理。
为了能利用ArcGIS Flex API浏览ImageServer服务并对栅格地图进行渲染,我参考了ArcGIS有关服务的帮助和例子http:/
/help.arcgis.com/en/webapi/flex/samples/index.html#/Shaded_relief_raster_function/01nq00000066000000/里面
讲解了ImageServer服务几种栅格渲染的方法,ArcGISImageServiceLayer是通过renderingRule来进行渲染的,
但renderingRule的类型为RasterFunction,看到RasterFunction中的functionName和arguments属性,这让我一头雾水。
"rasterFunction" : "Aspect"
The Aspect
raster function takes no arguments. Hence, specifying only the rasterFunction
property suffices in this case.
{ "rasterFunction" : "Aspect"}
"rasterFunction" : "Colormap"
The arguments for the Colormap
function are as shown below:
{ "rasterFunction" : "Colormap", "rasterFunctionArguments" : { "ColormapName" : "<Random | NDVI | Elevation | Gray>", "Colormap" : [ [<value1>, <red1>, <green1>, <blue1>], //[int, int, int, int] [<value2>, <red2>, <green2>, <blue2>] ] }, "variableName" : "Raster"}
Example 1:
{ "rasterFunction" : "Colormap", "rasterFunctionArguments" : { "ColormapName" : "Random" }, "variableName" : "Raster"}
Example 2:
{ "rasterFunction" : "Colormap", "rasterFunctionArguments" : { "Colormap" : [ [0, 1, 2, 3], [2, 45, 52, 13] ] }, "variableName" : "Raster"}
"rasterFunction" : "Hillshade"
The arguments for the Hillshade
function are as shown below:
{ "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"}
Example:
{ "rasterFunction" : "Hillshade", "rasterFunctionArguments" : { "Azimuth" : 215.0, "Altitude" : 75.0, "ZFactor" : 0.3 }, "variableName" : "DEM"}
"rasterFunction" : "NDVI"
The arguments for the NDVI
function are as shown below:
{ "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"}
Example:
{ "rasterFunction" : "NDVI", "rasterFunctionArguments" : { "VisibleBandID" : 2, "InfraredBandID" : 1 }, "variableName" : "Raster"}
"rasterFunction" : "ShadedRelief"
The arguments for the ShadedRelief
function are as shown below:
{ "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"}
Example:
{ "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"
The arguments for the Slope
function are as shown below:
{ "rasterFunction" : "Slope", "rasterFunctionArguments" : { "ZFactor" : <ZFactor> //double (e.g. 0.3) }, "variableName" : "DEM"}
Example:
{ "rasterFunction" : "Slope", "rasterFunctionArguments" : { "ZFactor" : 0.3 }, "variableName" : "DEM"}
"rasterFunction" : "Statistics"
The arguments for the Statistics
function are as shown below:
{ "rasterFunction" : "Statistics", "rasterFunctionArguments" : { "Type" : "<Min | Max | Mean | StandardDeviation>", "KernelColumns" : <KernelColumns>, //int (e.g. 3) "KernelRows" : <KernelRows> //int (e.g. 3) }, "variableName" : "Raster"}
Example:
{ "rasterFunction" : "Statistics", "rasterFunctionArguments" : { "Type" : "Mean", "KernelColumns" : 3, "KernelRows" : 3 }, "variableName" : "Raster"}
"rasterFunction" : "Stretch"
The arguments for the Stretch
function are as shown below:
{ "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"}
Example:
{ "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"}
rasterArgs = {};rasterArgs["Colormap"] = ColorsGradient([new Color(150,255,255),new Color(255,255,150),new Color(255,150,150)]); //ColorsGradient上一篇文章所写的函数rasterArgs["Azimuth"] =215;rasterArgs["Altitude"] =75;rasterFunction.arguments=rasterArgs;rasterFunction.functionName = "ShadedRelief";imageLayer.renderingRule = rasterFunction; //imageLayer为ArcGISImageServiceLayer
这样就可以进行渲染了,但是值得我们注意的是,服务中栅格数据到底是离散型还是连续型的,上面提到的函数都针对不同的数据类型。
- ArcGIS API For Flex对ImageServer发布的服务进行渲染及RasterFunction支持函数(学习笔记)
- ArcGIS API For Flex对ImageServer发布的服务进行渲染及RasterFunction支持函数(学习笔记)
- 利用ArcGIS API For Flex+ImageServer实现Identity影像服务的值
- ArcGIS Server代码动态创建发布服务(MapServer,ImageServer)
- ArcGIS Server代码动态创建发布服务(MapServer,ImageServer)
- ArcGIS API for JavaScript开发笔记(一)GP模型创建及服务发布
- ArcGIS API for javascript开发笔记(五)——GP服务调用之GP模型的发布及使用详解
- arcgis api for flex学习
- 怎么对ArcGIS for Server发布服务的要素类进行操作(字段增删、索引重建等)
- 怎么对ArcGIS for Server发布服务的要素类进行操作(字段增删、索引重建等)
- ArcGis API for JavaScript学习——发布服务
- ArcGIS API for Flex (使用ArcGIS API for Flex 创建一个新的地图项目)
- arcgis api for javascript(一)使用自定义数据对FeatureLayer进行渲染
- ArcGIS API for Flex制作程序发布后出现错误:"访问 URL 时遇到安全性错误" 解决办法尝试(学习笔记)
- ArcGIS API for flex遇到的问题解决(1)--地图服务url传值问题
- arcgis api for flex 开发入门(八)GP服务的使用
- 有关Flex中对地图进行渲染的疑问(学习笔记)
- arcgis server api for flex 笔记
- 示例(二) library MULTCONNECTLib
- Android 内存溢出(Out Of Memory)的总结
- tar打包/解包命令
- linux内核源码中常见宏定义
- hashmap详解
- ArcGIS API For Flex对ImageServer发布的服务进行渲染及RasterFunction支持函数(学习笔记)
- EJB3.0 有状态会话bean无状态会话bean详解
- The Skin surface
- HPCC系统需求
- memcopy, memset, strcopy, strncpy用法总结
- linux内核研究-8-块设备I/O层
- Not in ,in替换解决文字not EXISTS,EXISTS
- JS中document.createElement()用法及注意事项
- C# enum判断是否包含某项及按位运算