com.supermap.web.iServerJava6R.spatialAnalystServices
public class InterpolationAnalystService
继承 InterpolationAnalystService Inheritance com.supermap.web.service.ServiceBase

插值分析服务类.

插值分析是用于对离散的点数据进行插值得到栅格数据集。插值分析可以将有限的采样点数据,通过插值对采样点周围的数值情况进行预测,从而掌握研究区域内数据的总体分布状况,而使采样的离散点不仅仅反映其所在位置的数值情况,而且可以反映区域的数值分布。
由于地理空间要素之间存在着空间关联性,即相互邻近的事物总是趋于同质,也就是具有相同或者相似的特征,举个例子,街道的一遍下雨了,那么街道的另一边在大多数情况下也一定在下雨,如果在更大的区域范围,一个乡镇的气候应当与其接壤的另一的乡镇的气候相同,等等,基于这样的推理,我们就可以利用已知地点的信息来间接获取与其相邻的其他地点的信息,而插值分析就是基于这样的思想产生的,也是插值重要的应用价值之一。
将某个区域的采样点数据插值生成栅格数据,实际上是将研究区域按照给定的格网尺寸(分辨率)进行栅格化,栅格数据中每一个栅格单元对应一块区域,栅格单元的值由其邻近的采样点的数值通过某种插值方法计算得到,因此,就可以预测采样点周围的数值情况,进而了解整个区域的数值分布情况。其中,插值方法主要有距离反比权值插值法、克吕金(Kriging)内插法、径向基函数RBF(Radial Basis Function)插值法等。
利用插值分析功能能够预测任何地理点数据的未知值,如高程、降雨量、化学物浓度、噪声级等等。
下面几幅图,就是利用采样点的高程数据进行插值分析得到栅格数据的示意图,其所使用的插值方法都是距离反比权值插值法,但所使用的分辨率不同。
如图一为插值使用的采样点数据,数值为高程值,利用距离反比权值插值法,分辨率为3000米所得的插值结果如图二所示,每个栅格单元中的数值为栅格单元的值,这些值都是由采样点的数值插值得出的,由此可以大致地了解这块区域地形的高低状况。当设置更高的分辨率后,地形的起伏趋势将更加清晰化,图三为1000米分辨率,图四为30米分辨率,因此设置合理的分辨率值以及合适的插值算法,就可以从有限的采样点数据中,挖据出更多的信息。

图一 采样点数据及高程值

图二 3000米分辨率插值后的结果,并标注出每个栅格单元高程值

图三 1000米分辨率插值后的结果

图四 30米分辨率插值后的结果



公共方法
  方法 定义方
   
InterpolationAnalystService(url:String = null)
使用插值分析服务地址初始化 InterpolationAnalystSerivice 类的新实例。
InterpolationAnalystService
   
processAsync(parameters:InterpolationAnalystParameters, responder:IResponder = null):AsyncToken
根据插值分析服务地址与服务端完成异步通讯,即发送分析参数,并获取分析结果。.
InterpolationAnalystService
事件
  事件 Summary 定义方
    当与服务端交互失败时触发该事件。 InterpolationAnalystService
    当与服务端交互成功时触发该事件。 InterpolationAnalystService
构造函数详细信息
InterpolationAnalystService () 构造函数
public function InterpolationAnalystService(url:String = null)

使用插值分析服务地址初始化 InterpolationAnalystSerivice 类的新实例。

参数
url:String (default = null) — 插值分析服务地址。例如"http://localhost:8090/iserver/services/spatialanalyst-sample/restjsr/spatialanalyst"。
方法详细描述
processAsync () 方法
public function processAsync(parameters:InterpolationAnalystParameters, responder:IResponder = null):AsyncToken

根据插值分析服务地址与服务端完成异步通讯,即发送分析参数,并获取分析结果。.

当分析成功时,将触发 InterpolationAnalystEvent.PROCESS_COMPLETE 事件。用户可以通过两种方式获取分析结果:
1. 通过 AsyncResponder 类获取(推荐使用);
2. 通过监听 InterpolationAnalystEvent.PROCESS_COMPLETE 事件获取。

参数

parameters:InterpolationAnalystParameters — 插值分析参数类,包括点InterpolationDensityAnalystParameters(密度插值分析参数类)、InterpolationIDWAnalystParameters(IDW插值分析参数类)、InterpolationRBFAnalystParameters(RBF插值分析参数类)以及InterpolationKrigingAnalystParameters(Kriging插值分析参数类)。根据所需要获得的插值分析类型选择相应的参数类。
 
responder:IResponder (default = null) — 由 AsyncResponder 类实现。远程或异步请求服务完成时将调用的处理函数。使用方法为
AsyncResponder(result:Function, fault:Function, token:Object = null)
result:Function — 成功完成请求时应调用的函数。必须具有以下签名:
public function (result:Object, token:Object = null):void;
fault:Function — 请求完成但出错时应调用的函数。必须具有以下签名:
public function (error:FaultEvent, token:Object = null):void;
token:Object (default = null) — 与此请求相关的其他信息。
有关 AsyncResponder 类的详细信息请参见 “Adobe Flex 4.1 API 在线帮助文档”。

返回
AsyncToken — 返回 AsyncToken 对象,它为异步 RPC 操作提供设置额外数据或标记级别数据的位置。它也允许为单独的调用附加 IResponder。可从 token 属性的 ResultEvent 和 FaultEvent 中引用 AsyncToken。有关 AsyncToken 类的详细信息请参见 “Adobe Flex 4.1 API 在线帮助文档”。

另请参见

com.supermap.web.iServerJava6R.serviceEvents.InterpolationAnalystEvent
事件详细信息
fault 事件
Event Object Type: mx.rpc.events.FaultEvent

当与服务端交互失败时触发该事件。

processComplete 事件  
Event Object Type: com.supermap.web.iServerJava6R.serviceEvents.InterpolationAnalystEvent

当与服务端交互成功时触发该事件。