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

数据集邻近分析服务类.

该类负责将客户设置的数据集邻近分析服务参数传递给服务端,并接收服务端返回的数据集邻近分析结果数据。
用户获取服务端返回的邻近分析结果信息有两种方式:一种是通过监听 ThiessenAnalystEvent.PROCESS_COMPLETE 事件;一种是使用 AsyncResponder 类。

邻近分析是 GIS 领域里一个最为基础的分析功能之一,邻近分析是用来发现事物之间的某种邻近关系。
进行邻近分析的方法是实现泰森多边形的建立,即根据所提供的点数据建立泰森多边形,从而获得点之间的邻近关系。
泰森多边形的建立如下图所示:

1.对待建立泰森多边形的点数据进行由左向右,由上到下的扫描,如果某个点距离之前刚刚扫描过的点的距离小于给定的邻近容限值,那么分析时将忽略该点;
2.基于扫描检查后符合要求的所有点建立不规则三角网,即构建 Delaunay 三角网;
3.画出每个三角形边的中垂线,由这些中垂线构成泰森多边形的边,而中垂线的交点是相应的泰森多边形的顶点;
4.用于建立泰森多边形的点的点位将成为相应的泰森多边形的锚点。

以上建立的泰森多边形有如下特点:
1.每个泰森多边形内仅含有一个离散点数据;
2.泰森多边形内的点到相应离散点的距离最近;
3.位于泰森多边形边上的点到其两边的离散点的距离相等。
泰森多边形可用于定性分析、统计分析、邻近分析等。例如,可以用离散点的性质来描述泰森多边形区域的性质;可用离散点的数据来计算泰森多边形区域的数据;判断一个离散点与其它哪些离散点相邻时,可根据泰森多边形直接得出,且若泰森多边形是n边形,则就与n个离散点相邻;当某一数据点落入某一泰森多边形中时,它与相应的离散点最邻近,无需计算距离。



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

使用数据集邻近分析服务地址初始化 DatasetThiessenAnalystService 类的新实例。

参数
url:String — 与客户端交互的数据集邻近分析服务地址。例如:"http://supermapiserver:8090/iserver/services/spatialanalyst-sample/restjsr/spatialanalyst"。
方法详细描述
processAsync () 方法
public function processAsync(parameters:DatasetThiessenAnalystParameters, responder:IResponder = null):AsyncToken

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

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

参数

parameters:DatasetThiessenAnalystParameters — 数据集邻近分析参数 DatasetThiessenAnalystParameters
 
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 在线帮助文档”。
事件详细信息
fault 事件
Event Object Type: mx.rpc.events.FaultEvent

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

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

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